в "глобальной и статической" области:)
существует несколько областей памяти в C++
см. здесь для подробного ответа на Ваш вопрос
run the program from the command line, instead of executing it directly.
Ctrl+F5 in Visual C++.
Все предыдущие ответы предполагают, что вы хотите вызвать консольное приложение, а затем оставить его "запущенным" и дождаться завершения ввода пользователя. Если это правильное предположение, то +1 к ответу GMan. Однако, если вы спрашиваете, как вызвать это консольное приложение с помощью ярлыка, Пуск-> Выполнить или какого-либо другого механизма и оставить окно cmd открытым, вам нужно будет вызвать его через cmd.exe
. с параметром / k
, например:
cmd.exe /k "foo.exe"
Это запустит окно cmd, запустит ваше консольное приложение, а затем оставит окно cmd открытым. Это касается @Thanatos выше. Он прав в том, что вы должны позволить консольному приложению закрыть. Опять же, для меня неясно, о чем вы на самом деле спрашиваете, какой должна быть конечная цель.
Если я сделал неверное предположение (я),
Console applications are meant to be run from the console. If you do that, after running you'll be left with your console window, and can easily view the output of your program.
You can use something like getchar()
to force the application to wait for a key-press.
Подождите, пока консоль закроется.
Если вы запретите в программе закрытие консоли, это затруднит автоматизацию вашей программы или сделает формат ввода программы странным.
Вместо этого, исправьте все, что запускает программу, в первую очередь, чтобы не закрывать окно терминала. Если это MS Visual Studio, попробуйте F5 (Запуск без отладки). Если вам нужна отладка, поставьте метку останова в конце программы. В противном случае откройте командную строку / терминал и запустите программу самостоятельно.
1) Ваша среда IDE открывает консоль перед запуском программы.
2) ваша программа завершается
3) IDE закрывает консоль
a) Просто скажите IDE не закрывать консоль ... или
б) заставить вашу программу не заканчиваться.
a) Не знаю, как это сделать.
б) непосредственно перед возвратом 0;
используется для завершения программы add
printf("Press ENTER a few times to terminate the program");
fflush(stdout);
getchar(); getchar(); getchar(); getchar();
getchar(); getchar(); getchar(); getchar();
return 0;
Вы можете использовать getch () в конце вашей программы. Другой способ - отладить программу и поставить точку останова перед концом программы.