不使用eekp值编写函数

2023-12-12

我正在尝试使用 C++ 在文件中的特定位置写入条目

所以基本上我有

ofstream ofs("file.dat", ios::binary | ios::app);
ofs.seekp(220, ios::beg);
ofs.write((char *)&i, sizeof(i));

但无论我做什么,它总是写在文件的末尾。

我想这与iso::app因为根据文档

app (append) Set the stream's position indicator to the end of the stream before each output operation

但如果我使用ate或者什么都不做,它总是会删除文件的内容。

任何帮助都会很棒:)


是的,这是ios::app这就是导致这种行为的原因。将其替换为ios::in | ios::out.

edit:您的问题并不清楚,但您的评论表明您正在尝试insert数据位于文件中间,而不是覆盖文件的一部分。如果确实如此,您几乎必须使用第二个文件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

不使用eekp值编写函数 的相关文章

随机推荐