【发布时间】:2018-10-25 20:18:40
【问题描述】:
我正在练习文件处理。我制作了一个文本文件并在其中写入了一些字符,现在我希望光标转到文件的开头并使用 seekp 将一个字符放在那里。
这里是代码
fstream ofile;
char ch = 'g';
ofile.open("test.txt", ios::out | ios::app);
ofile.seekp(0, ios::beg);
ofile.put(ch);
ofile.close();
预期结果: 它在文件开头写 g。
实际结果: 它在末尾附加 g。
我尝试删除 ios::app 标记,但 ios::out 单独在写入任何内容之前会截断文件。
【问题讨论】:
-
使用
ios::in | ios::out -
@NeilButterworth 做到了!谢谢! :)
-
@drescherjm ios::ate 也会截断文件。 :-/
标签: c++ file-handling