如何正确使用随机访问流?

时间:2015-04-26 09:44:59

标签: c++

考虑以下代码:

int main()
{
    fstream xyz("file.txt",fstream::ate|fstream::in|fstream::out);
    xyz.seekp(0,fstream::beg);
    xyz << "this is ";
    xyz.close();
}

file.txt包含:"a c++ program"

我希望输出为"this is a c++ program",但输出为"this is ogram"。 如何重写代码以获得所需的输出?

1 个答案:

答案 0 :(得分:0)

您可以通过输入this is来覆盖第一个字符。

使用std::getline()并将该行存储在字符串中,然后输入该字符串并添加存储该行的字符串。