这可能看起来像一个愚蠢的问题,但我很难过。这里是我的代码:使用stringstream输入/输出布尔值
int main()
{
string line, command;
getline(cin, line);
stringstream lineStream(line);
bool active;
lineStream >>active;
cout <<active<<endl;
}
不管我输入了积极的,它总是打印出0。因此可以说,我的投入是
true
它会输出0,同样的事情错误。
IIRC'bool'需要特殊处理,有一些流处理器来控制它是如何解析的。默认值是查找“0”和“1”。 –