ctrl+c en lenguaje c

Iniciado por sesiopower, 10 Junio 2015, 18:42 PM

0 Miembros y 1 Visitante están viendo este tema.

sesiopower

hola, estoy haciendo un ejercicio en lenguaje c con dev-c++ que tiene q ejecutarse infinitamente (lo hago con while(1) ) y para finalizarla pulso ctrl+c, pero quiero q cunado se pulse ctrl+c que haga por ejemplo un free(memoria) antes de cerrar la aplicacion, ¿es posible?.
En unix se puede hacer una manejadora y modificar la señal de ctrl-c, pero no se como se puede hacer en dev-c++ para windows

engel lex

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

sesiopower

Cita de: engel lex en 10 Junio 2015, 18:52 PM
esto es de utilidad?

http://stackoverflow.com/questions/1641182/how-can-i-catch-a-ctrl-c-event-c

asi se hace en unix, pero no se si funciona en windows. lo intentare haber si asi funciona

rir3760

Cita de: sesiopower en 10 Junio 2015, 18:42 PM
estoy haciendo un ejercicio en lenguaje c con dev-c++ que tiene q ejecutarse infinitamente (lo hago con while(1) ) y para finalizarla pulso ctrl+c, pero quiero q cunado se pulse ctrl+c que haga por ejemplo un free(memoria) antes de cerrar la aplicacion, ¿es posible?.
Si. Descripción y ejemplo (en ingles) en MSDN: Console Control Handlers.

Un saludo
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language