Я новичок в C ++,
Какой код я должен написать, чтобы заставить экран стоять на месте. я использую
getche();
на языке с. но вместо getche()
что я должен использовать в C ++;
Я старался
std::cin.get();
но окна консоли отображаются, а затем быстро выключаются.
окна консоли отображаются, а затем быстро отключаются.
Кажется, у вас есть что-то в буфере, и cin.get
читает это как персонаж. Например:
int i = 0;
std::cin >> i;
std::cin.get();
Когда вы вводите номер и нажимаете Enter, cin >> i
будет потреблять номер, но он уйдет \n
символ (который происходит от нажатия клавиши Enter) в буфере, который будет прочитан std::cin.get()
не дожидаясь ввода пользователем новых данных.
Чтобы этот пример работал так, как мы хотим, нам нужно очистить буфер перед вызовом std::cin.get()
:
int i = 0;
std::cin >> i;
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
std::cin.get();
std::numeric_limits
определяется в <limits>
заголовочный файл
В Windows я обычно использую system("pause");
, которые называют ОС pause
команда, чтобы предотвратить закрытие окна консоли после завершения программы. Эта команда отображает приятное сообщение и ждет любой клавиши :).
Нажмите любую клавишу для продолжения . , ,
Я не знаю, существует ли команда в других ОС или нет, и я не знаю, является ли это тем, что вы пытаетесь заархивировать :).
Функция находится в cstdlib
или же stdlib.h
заголовочный файл
Наконец, что не менее важно, не очень хорошая идея вызывать getch () в последней строке кода, чтобы предотвратить закрытие консоли. Но если вы действительно предпочитаете этот способ, я предлагаю использовать что-то вроде
std::string temp;
std::cin>>temp;
В конце вашей основной функции, как раз перед return
заявление.
Просто включите <stdlib.h>
и в основном метод использования system("pause")
Ваше окно консоли останется неподвижным.
Пожалуйста, используйте следующее
Геч ()