Это не работает:Нажмите Enter, чтобы продолжить
string temp;
cout << "Press Enter to Continue";
cin >> temp;
Это не работает:Нажмите Enter, чтобы продолжить
string temp;
cout << "Press Enter to Continue";
cin >> temp;
cout << "Press Enter to Continue";
cin.ignore();
или, лучше:
#include <limits>
cout << "Press Enter to Continue";
cin.ignore(std::numeric_limits<streamsize>::max(),'\n');
Try:
char temp;
cin.get(temp);
или еще лучше:
Я думаю, что входная строка не будет ждать, пока вы введите реальные символы, а не только новую строку.
Замените ваш cin >> temp
с:
temp = cin.get();
http://www.cplusplus.com/reference/iostream/istream/get/
cin >>
будет ждать ENDOFFILE. По умолчанию в cin будет установлен флаг skipws, что означает, что он пропускает все пробелы перед извлечением и помещением в строку.
Попытка:
cout << "Press Enter to Continue";
getchar();
В случае успеха, чтения символов возвращается (повышен до int
значения, int getchar (void);
), который может быть использован в испытательном блоке (while
, и т.д.).
Вам необходимо включить conio.h, так что попробуйте это, это легко.
#include <iostream>
#include <conio.h>
int main() {
//some code like
cout << "Press Enter to Continue";
getch();
return 0;
}
С, что вам не нужна строка или Int для этого просто getch();
Этот ответ больше не работает, функция getch() устарела. –
Функция std::getline (уже введена с C++ 98) предоставляет переносимый способ реализации этого:
#include <iostream>
#include <string>
void press_any_key()
{
std::cout << "Press Enter to Continue";
std::string temp;
std::getline(std::cin, temp);
}
Я нашел это благодаря этому question и answer после того, как заметил, что std::cin >> temp;
не возвращается с пустым вводом. Поэтому мне было интересно, как обращаться с дополнительным пользовательским вводом (что имеет смысл для строковой переменной, конечно, может быть пустым).
Это действительно кросс-платформенный способ, можно положить << заподлицо за cout и cin.sync() между этими строками, чтобы убедиться, что он работает в каждом случае. ;-) –
cin привязан к cout, поэтому до того, как произойдет какой-либо i/o cin, выход cout уже сброшен –
Почему второй код «лучше»? – dani