按Enter键继续
答
cout << "Press Enter to Continue";
cin.ignore();
,或者更好:
#include <limits>
cout << "Press Enter to Continue";
cin.ignore(std::numeric_limits<streamsize>::max(),'\n');
答
尝试:
char temp;
cin.get(temp);
,或者更好的:
我认为字符串输入等着你输入真实的字符,而不仅仅是一个换行符。
答
替换您的cin >> temp
有:
temp = cin.get();
http://www.cplusplus.com/reference/iostream/istream/get/
cin >>
将等待EndOfFile。默认情况下,cin将设置标记集,这意味着它在提取并放入字符串之前会跳过任何空格。
答
尝试:
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();
答
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;
没有返回空输入。所以我想知道如何处理可选的用户输入(这对于字符串变量来说当然是空的)。
这确实是一个跨平台的方式,可以在这些行之间放置 2009-05-24 07:05:21
cin绑定到cout,因此在发生cin的任何I/O之前,cout的输出已经被刷新 – 2009-05-24 15:06:35