Hola chicos, me estoy introduciendo al C y quería saber como mantener la consola abierta despues de la ejecucion de un comando, para que le de tiempo a mi ojo a ver los resultados ¿Alguien me ayuda?
Hola chicos, me estoy introduciendo al C y quería saber como mantener la consola abierta despues de la ejecucion de un comando, para que le de tiempo a mi ojo a ver los resultados ¿Alguien me ayuda?
Última edición por hckr; 19-08-2010 a las 15:13
Si simplemente quieres parar el programa te valdra con ponerantes de elgechar ();que pongas, donde X es el valor que le quieras dar (normalmente cero)esto funciona al incluir la libreria stdio.hreturn X;te dejo un ejemplo de un hola mundo.#include <stdio.h>
Saludos.#include <stdio.h>
int main()
{
printf("Hola Mundo");
gechar ();
return 0;
}
Grax men pero el Devc++ me da este error [Linker error] undefined reference to `gechar' . te doy mi codigo a ver... Ah y de camino a ver si me solucionas otra cosa:
Vale, se me presentan 2 errores: al poner char edad_papa luego en el printf no me sale "viejo" (sin comillas), me sale un rombo chiquitito. Luego, se me cierra la consola. Enga a ver si me ayudas.Código:#include <stdio.h> int mama=47; char edad_papa[]="viejo"; main() { printf( "mama tiene %d; sin embargo papa es muy %c", mama, edad_papa ); gechar (); return 0; }
P.D.:Con lo que me dijistes ni me compila.. pero grax men
Problema de mantener la consola abierta resuelto; es getchar(), no gechar(). Lo de edad_papano lo resolví aún... Grax por la ayuda men
Chicos duda arreglada. Os digo la solucion: al poner en printf %c, es para un caracter simple, pero si ponemos %s, ponemos una cadena de caracteres. Lo de mantener la ventana abierta, tiene que haber otro metodo, porque el procedimiento Getchar() es para obtener caracteres del teclado. Fuciona pero no es lo que busco. Alguien me ayuda?
P.D.: El codigo correcto era:Código:#include <stdio.h> int mama=47; char edad_papa[] = "viejo"; main() { printf( "mama tiene %d; sin embargo papa es muy %s.", mama, edad_papa ); getchar(); return 0; }
Te comento que Dev C++ esta algo obsoleto, te aconsejaria code::blocks es gratuito y libre distribución.
Hace algun tiempo que no toco C++ y C casi ni lo vi, así que era normal que se me confundiera en alguna letra , me alegro de que lo allas solucionado.
puedes utilizarPero tendras que incluir windows.hCódigo:system ("PAUSE");Seria así:Código:#include <windows.h>
No puedo probarlo ahora mismo, pero debería de funcionar (aunque claro, ya tendrías que programar específicamente para Windows olvidándote de otros SO ...).Código:#include <stdio.h> #include <windows.h> int mama=47; char edad_papa[] = "viejo"; main() { printf( "mama tiene %d; sin embargo papa es muy %s.", mama, edad_papa ); system ("PAUSE"); return 0; }
Última edición por 3m.8>(9/3); 19-08-2010 a las 22:16
Otra solución, para nada recomendable... meter al final un:
Se te quedará bloqueado, pero evita tanto para el caso de system("pause"), como para el de getchar(), tener que pulsar una tecla para finalizar. Con el while(1), pulses lo que pulses, quedará activo hasta eliminar el proceso.Código:while (1);
Un saludo.
Nunca había pensado en meter un bucle más bien en poner algo para decidir si acabar la aplicación o no.
Ah gracias 3m (te apodaré asi si no te importa ), pero me sale lo de Presione una tecla para continuar... No hay una especie de @echo off? lo de getchar() funciona pero es como una trampa :P
La verdad (por mi corta experiencia en el lenguaje) desconozco si hay algún comando para desactivar los mensajes, aun así espero que tengas suerte y encuentres lo que necesitas.
Saludos.
Es muy sencillo.
En lugar de "system("PAUSE");" pon:
system("PAUSE >null");
Un saludo
PD: El problema de esto es que creara un archivo de salida llamado "null" en el que pondra "Pulse una tecla para continuar..." pero lo puedes solucionar añadiendo otro "system("DEL null");" Es una solucion poco elegante, pero sencilla.
Última edición por RaidMan; 20-08-2010 a las 15:06
Supongo que llego bastante tarde, pero para que se quede parada la consola y no muestre nada en pantalla (y sin crear archivos), supongo que puedes usar:
Código:system("PAUSE > nul");
Marcadores