在C ++空间中写入文件充当新行

时间:2015-05-20 10:51:32

标签: c++

以下是代码:

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
这不是应该的方式。救命啊!

1 个答案:

答案 0 :(得分:5)

operator>>的{​​{1}}使用空格作为分隔符,因此您只需阅读一个单词,而不是读取整行。要解决此问题,请改用std::cin

std::getline