Hola amigos
hace pocos dias me inicie en eso del C
debido a que encontre un libro en la biblioteca de mi colegio
bueno el caso es que ahora haciendo programas sencillos
como el hola mundo y programas de suma y resta
( algo basico )
me eh dado cuenta que el programa se cierra solo :(
bueno revisando codigo fuente eh colocado lo que supongo yo
un parche temporal getchar();
asi que cuando presione cualquier tecla se cierre
y no se cierre automaticamente como lo hace sin esa linea
ahora la pregunta como hago para evitar que el programa se cierre indefinidamente?
de antemano gracias :D
Córrelo desde la terminal (Windows>Ejecutar>"cmd">"programa.exe").
@Zarkaz:
Creo saber a lo que te refieres tu tienes que crear un bucle para los mensajes que le son enviados a tu aplicacion
generalmente el bucle es de esta forma:
SI es para consola y no quieres que se cierre la ventana del DOS tendras que hacer un bucle y escribiendo como condicion la funcion esa que utilizaste o haciendo una condicion tu mismo.
si es para W32:
while (GetMessage(&MYMSG, NULL, 0, 0))
{
if (!TranslateAccelerator(MYMSG.hwnd,NULL, &MYMSG))
{
TranslateMessage(&MYMSG);
DispatchMessage(&MYMSG);
}
}
Generalmente porque algunos programas usan otras APIs que simplifican el codigo y llaman automaticamente a esas APIs en el codigo.
Aun así puedes usar el codigo para W32 en un proyecto de consola.
Cita de: zarkaz en 18 Marzo 2012, 17:27 PM
Hola amigos
hace pocos dias me inicie en eso del C
debido a que encontre un libro en la biblioteca de mi colegio
bueno el caso es que ahora haciendo programas sencillos
como el hola mundo y programas de suma y resta
( algo basico )
me eh dado cuenta que el programa se cierra solo :(
bueno revisando codigo fuente eh colocado lo que supongo yo
un parche temporal getchar();
asi que cuando presione cualquier tecla se cierre
y no se cierre automaticamente como lo hace sin esa linea
ahora la pregunta como hago para evitar que el programa se cierre indefinidamente?
de antemano gracias :D
Si usas Windows y no quieres complicarte la vida, te aconsejo que uses esto:
system("PAUSE");
o sino, tira de la forma cutre, declara una variable y mediante cin o scanf la llamas :)
Un saludo ;-)