Использование кода из стандартной библиотеки, чтобы остановить вывод от выхода в Turbo C ++

StackOverflow https://stackoverflow.com/questions/19855000

Вопрос

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

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

    void main(){
        cout << "Hello World!" << endl;
        getch(); // Instead of using this
        }
Это было полезно?

Решение 2

Просто заменить 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, так как это буферизованные входные операции.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top