Многие люди здесь говорят мне прекратить использование clrscr()
, getch()
и т.д., И я начал изучать C++ со стандартной библиотекой, и теперь, когда я хочу следовать стандартной библиотеке, как бы остановить вывод с немедленного выхода после запуска?
include <iostream.h>
include <conio.h> // Instead of using this
void main(){
cout << "Hello World!" << endl;
getch(); // Instead of using this
}
Просто замените getch()
на cin.get()
следующим образом:
include <iostream>
using namespace std;
void main()
{
cout << "Hello World!" << endl;
cin.get();
}
Для получения дополнительной информации см. Документацию по функции get(). Для справки вы можете сделать это, например, дождаться нажатия пользователем определенного символа:
void main()
{
cout << "Hello World!" << endl;
cout << "Press Q to quit." << endl;
cin.ignore(numeric_limits<streamsize>::max(), 'Q');
}
Вы можете напрямую запустить двоичный файл из командной строки. В этом случае после завершения программы выполнение вывода будет по-прежнему находиться в терминале, и вы можете его увидеть.
Если вы используете среду IDE, которая закрывает терминал, как только выполнение завершено, вы можете использовать любую операцию блокировки. Самым простым является scanf (" %c", &dummy);
или cin >> dummy;
или даже getchar();
и что предложил Адриано. Хотя вам нужно нажать клавишу Enter, так как это операции с буферизацией ввода.