Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: zarkaz en 18 Marzo 2012, 17:27 pm



Título: el programa se cierra solo
Publicado por: 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


Título: Re: el programa se cierra solo
Publicado por: Sagrini en 18 Marzo 2012, 18:14 pm
Córrelo desde la terminal (Windows>Ejecutar>"cmd">"programa.exe").


Título: Re: el programa se cierra solo
Publicado por: x64core en 18 Marzo 2012, 18:25 pm
@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:
Código:
	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.


Título: Re: el programa se cierra solo
Publicado por: Runex en 24 Marzo 2012, 03:15 am
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:

Código
  1. system("PAUSE");

o sino, tira de la forma cutre, declara una variable y mediante cin o scanf la llamas :)

Un saludo  ;-)