【发布时间】:2015-12-08 19:13:52
【问题描述】:
#include <iostream>
using namespace std;
int main(int argc, char** argv) {
char text[200];
int input;
cin>>input;
if (input == 1)
{
cin.getline(text, 200);
cout<<text<<"\n";
}
else if(input == 0)
{
cout <<"You entered a 0";
}
return 0;
}
我正在尝试制作一个小程序,其中用户输入 1 或 0。如果用户输入 1,那么他可以输入整个句子并将其存储在文本的 char 数组中。我的问题是,当我将 cin.getline() 放在 if 语句中时,它不再起作用。这是为什么呢?
谢谢
【问题讨论】:
-
在调用
getline()之前,您必须从第一个输入操作中读取剩余的换行符。 -
您必须在读取新的输入之前刷新输入