考虑以下代码:
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"
。
如何重写代码以获得所需的输出?
答案 0 :(得分:0)
您可以通过输入this is
来覆盖第一个字符。
使用std::getline()
并将该行存储在字符串中,然后输入该字符串并添加存储该行的字符串。