提问人: 提问时间:10/3/2008 最后编辑:Gilles 'SO- stop being evil' 更新时间:9/16/2012 访问量:450
读取一些整数,然后读取C++中的一行文本
Reading some integers then a line of text in C++
问:
我正在读取 C++ 程序中的输入。首先是一些整数,然后是字符串。当我尝试读取字符串时,它不会读取用户键入的行:相反,我得到一个空行,这是用户在键入整数后按下时。getline(cin,stringname);
Enter
cin>>track.day; //Int
cin>>track.seriesday; //Int
getline(cin,track.comment); //String
如何清除(不起作用),以便字符串不会用“enter”键填充自己?cin
cin.clear()
这是一个正常的输入接收,在代码的顶部没有什么特别的,
我遇到了这样的问题,但我忘记了解决方案
我需要以某种方式清除字符串,以便字符串不会被“enter”键填充。cin
答:
2赞
Evan Teran
10/3/2008
#1
我认为你的 cin of the ints 没有阅读句子前的新行。CIN 跳过前导空格,并在遇到非数字(包括空格)时停止读取数字。
所以:
std::cin >> num1;
std::cin >> num2;
std::cin.ignore(INT_MAX, '\n'); // ignore the new line which follows num2
std::getline(std::cin, sentence);
可能对你有用
评论