以下是代码:
cout << "Enter file location:";
cin >> location;
string line;
ofstream writefile(location);
if (writefile.is_open())
{
while (q==1)
{
i++;
cin >> lines[i];
if (lines[i] == "end")
{
lines[i] = "";
q = 0;
}
}
while (writeindex<i)
{
writeindex++;
writefile << lines[writeindex] << "\n";
}
writefile.close();
}
else cout << "Unable to open file";
return 0;
我输入:
WritePad很棒
asd asd
我写的文件:
WritePad
是
惊人
ASD
ASD
这不是应该的方式。救命啊!
答案 0 :(得分:5)
operator>>
的{{1}}使用空格作为分隔符,因此您只需阅读一个单词,而不是读取整行。要解决此问题,请改用std::cin
。
std::getline