2011-02-28 3 views
3

Можно создать дубликат:
How to stop C++ console application from exiting immediately?предотвращение файл ех от закрытия

Я создал файл ех в с. Когда я запускаю его, открывается командная строка, а затем быстро завершается, и я не вижу выход. Программа не принимает значений времени выполнения от пользователей. Он считывает данные из файла. Есть ли способ предотвратить это?

+2

Это задано много раз: http://stackoverflow.com/questions/2725823/how-do-i-get-the-screen-to-pause http://stackoverflow.com/questions/2529617/ как-stop-c-console-application-from-exiting-немедленно http://stackoverflow.com/questions/902261/is-there-a-decent-wait-function-in-c, не говоря уже о http: //stackoverflow.com/questions/193469/how-to-make-visual-studio-pause-after-executing-a-console-app-in-debug-mode и http://stackoverflow.com/questions/900666/ системные вызовы-в-c-и-их-ролях в программировании. –

+1

О, но это вопросы на С ++! –

ответ

0

Вы в Windows? Если это так, быстрый и грязный способ - использовать функцию system() в stdlib.h (убедитесь, что вы ее включили), чтобы выполнить команду PAUSE в командной строке.

system("PAUSE"); 
+0

это не сработало :( –

+0

[Пожалуйста, нет.] (Http://www.gidnetwork.com/b-61.html) –

9

Запустите его из командной строки.

Давайте предположим, что ваш файл находится в каталоге C: \ awesomeness.exe

Откройте CMD, введите cd C:\ и введите awesomeness.exe

+0

Спасибо, очень помогло, прочитав ошибку, и это замечательный ответ. – JochemQuery

2

Один из классических способов сделать это:

#include <stdio.h> 

int main() { 
    puts("hai"); 
    getchar(); 
} 

Это будет ждать нажатия клавиши в конце.

-1

Использование 'system ("pause");' до окончания main() является наиболее распространенным методом.

int main() { 
    ... 
    ... 
    system("pause"); 
} 
+0

'system («пауза»); 'является наиболее распространенным методом [избегать] (http://www.gidnetwork.com/b-61.html). –

+0

по количеству небольших программ назначения там, на самом деле это может быть наиболее распространенный метод, будь то хороший или нравится вам или нет. Однако некоторые считают, что крестовый поход лучше, чем простая коррекция. Как насчет того, что следующая «система() неэффективна, x лучше и делает то же самое» на самом деле добирается до точки гораздо быстрее почти в том же количестве букв. –

0

Если вы используете Visual Studio, нажмите CTRL + F5 вместо F5 для того, чтобы запустить программу.

+0

Но таким образом вы теряете возможности отладки, лучший подход в среде IDE заключается в том, чтобы добавить точку останова незадолго до конца. –

+0

Неправильно перерыв? Я полагаю, что отлично работает, пока пользователь не выдает программу как exe, а люди бегут, кричит ... что это сказал? –

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