#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语句中时,它不再有效。那是为什么?
谢谢
答案 0 :(得分:1)
dragContainer
不起作用。它完全按照它提出的要求:读取文本行直到下一个换行符。恰好发生RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^administrator.v1/(.*) admin/$1
读取了一些数字,然后在输入缓冲区中留下了第一个非数字输入 - 除非你输入的数字不是数字,否则通常是换行符。
你可以通过调用cin.getline()
来解决这个问题,这将“读取下一个换行符的所有内容并将其丢弃”。
理想情况下,您应该决定是否要使用cin >> input;
或cin.ignore()
,并使用其中一个,但这意味着然后读取一串文本并在您的代码中转换为数字,如果你是一个新手,那可能比你想要的更复杂。