我有下面的代码。代码后面是一个输入文件示例。当我去cout数组时,它是这样做的:
输出:
Joe
Browns
93
Samantha
Roberts
45为什么字符串只读到空格,然后继续?我以为字符串接受空格?谢谢。
代码:
ifstream in_stream;
in_stream.open("in.dat");
if(in_stream.fail())
{
cout<< "Input file opening failed. \n";
exit(1);
}
vector <string> a;
int i = 0;
string dummy;
while(in_stream>>dummy)
{
a.push_back(dummy);
cout<<a[i]<<endl;
i++;
}
in_stream.close( );示例输入文件:
Joe Browns
93
Samantha Roberts
45发布于 2013-02-26 06:43:31
operator>>将任何类型的空格解释为分隔符。如果需要读取整行内容,请使用getline()。
发布于 2013-02-26 06:46:39
更改while循环,以便读取整行内容。
while (getline(in_stream, dummy))
{
a.push_back(dummy);
cout << a[i] << endl;
i++;
}https://stackoverflow.com/questions/15077932
复制相似问题