2013-11-08 3 views
0

Многие из нас говорят мне прекратить использование clrscr(), getch() и т. Д., И я начал изучать C++ со стандартной библиотекой, и теперь, когда я хочу следовать стандарту Как я могу остановить вывод из непосредственного выхода после запуска?Использование кода из стандартной библиотеки для остановки вывода из Turbo C++

include <iostream.h> 
include <conio.h> // Instead of using this 

    void main(){ 
     cout << "Hello World!" << endl; 
     getch(); // Instead of using this 
     } 

ответ

1

Просто замените getch() с cin.get() как это:

include <iostream> 

using namespace std; 

void main() 
{ 
    cout << "Hello World!" << endl; 
    cin.get(); 
} 

Для получения более подробной информации см get() function documentation. Просто для справки, вы можете сделать это, например, подождать, пока пользователь не нажал специфический характер:

void main() 
{ 
    cout << "Hello World!" << endl; 
    cout << "Press Q to quit." << endl; 
    cin.ignore(numeric_limits<streamsize>::max(), 'Q'); 
} 
2

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

Если вы используете IDE, которая закрывает терминал, как только выполнение завершено, вы можете использовать любую операцию блокировки. Самый простой - scanf (" %c", &dummy); или cin >> dummy; или даже getchar(); и то, что предложил Адриано. Хотя вам нужно нажать клавишу Enter, так как это операции с буферизацией ввода.