2013-02-08 6 views
2

Я новичок в программировании на С. В моей программе ниже я просто пытаюсь немедленно выйти из программы C, не видя дополнительного диалога, если программы получают вход «quit».Выход из программы C

Я пытаюсь сделать это, используя exit(0); однако, до того, как программа завершает его выдает что-то вроде

success 
process exited with return value 0 
Press any key to continue... 

Я пытаюсь избежать этого диалогового окна и выйти из программы сразу. Это возможно?

Я ценю любую помощь с этим.

Большое спасибо заранее!

Мой C Код:

#include <stdio.h> 
#include <string.h> 
#include <stdlib.h> 


int main(void) { 
    char command1[256], command2[256]; 
    printf("# "); 
    scanf("%s", command1); 
    if(strcmp(command1,"quit")==0){ 
     printf("success"); 
     exit(0); 
    }else{ 
     printf("unknown command"); 
    } 

system("PAUSE"); 
return 0; 

} 
+0

Извините, да, это успех печати. – AnchovyLegend

+0

Готово. См. Отредактированный;) – AnchovyLegend

+1

@ablenky - спасибо за это - он скорее изменяет вкус проблемы (например, полностью) – CHill60

ответ

6

Сообщение, которое вы видите, фактически генерируется отладчиком Visual Studio. Это действительно не из вашей программы.

Если вы хотите, чтобы ваша программа фактически не отображала никаких сообщений (и не ожидала нажатия клавиши), просто попробуйте запустить ее из командной строки Windows. Вы также можете попробовать запустить программу в режиме «Release» с помощью Visual Studio. Это также подтвердит это.

Причина, по которой отладчик отображает эту информацию, просто поможет вам понять, что происходит с вашей программой.

0

Этот выход не приходит из вашей программы, это происходит из программы, выполняющейся программы. Скорее всего, «Visual Studio», но я ожидаю, что некоторые другие типы IDE могут делать подобные вещи.

0

Можете ли вы разместить информацию о своей среде исполнения? Кажется, что ваш процесс контролируется кодом выхода другим приложением (возможно, специализированной оболочкой), которая печатает строку «Нажать любую клавишу для продолжения»

0

process exited with return value 0, конечно, не исходит из вашего кода, а скорее из программы в в середине вашего ввода и вывода.

Я собирал это в командной строке (Mac OSX) и был представлен следующий вывод:

James:Desktop iPhone$ gcc code.c 
James:Desktop iPhone$ ./a.out 
# quit 
successJames:Desktop iPhone$ 

Следует заметить, что я не достиг system("PAUSE"); либо

0

Если вы используете dev- C++ и вы хотели бы, чтобы избавиться от сообщения, сделать это:

Инструменты Меню ->параметры окружающей среды ->Общая вкладка

Затем снимите флажок Пауза после возврата.

http://www.cplusplus.com/forum/general/89249/

Смежные вопросы