Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > Ctrl+C и завершение приложения


Автор: danilsl 7.9.2010, 14:08
Всем привет.
Вот простой пример:
Код

int main(void){
    init_app();
    while(1){
        working();
    }
    stop_app();
}

В простейшем случае из цикла этот код никогда не выйдет. Однако это приложение можно прикрыть с помощью Ctrl+C.
А можно ли сделать чтоб при этом приложение не рушилось, а ловило эту комбинацию и попадало на оператор stop_app(), который должен подчищать за прогой?

Автор: djamshud 7.9.2010, 14:35
man 7 signal, man 2 sigaction.

Перехватывайте SIGINT.

Автор: Dem_max 7.9.2010, 16:16
смотри тут
http://msdn.microsoft.com/en-us/library/ms682541(VS.85).aspx
http://msdn.microsoft.com/en-us/library/ms685035(v=VS.85).aspx

Автор: djamshud 7.9.2010, 16:21
Цитата

смотри тут
http://msdn.microsoft.com/en-us/library/ms682541(VS.85).aspx
http://msdn.microsoft.com/en-us/library/ms...5(v=VS.85).aspx


Лол.

Автор: danilsl 8.9.2010, 09:49
Цитата(Dem_max @ 7.9.2010,  16:16)
смотри тут
http://msdn.microsoft.com/en-us/library/ms682541(VS.85).aspx
http://msdn.microsoft.com/en-us/library/ms685035(v=VS.85).aspx

Слив защитан...

Автор: xvr 8.9.2010, 15:26
Цитата(Dem_max @ 7.9.2010,  16:16)
смотри тут
http://msdn.microsoft.com/en-us/library/ms682541(VS.85).aspx
http://msdn.microsoft.com/en-us/library/ms685035(v=VS.85).aspx

Это надо понимать как предложение поставить WINE и запускать программу под ним?  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)