c++清除文件特定位置后的内容
我想使用 fstream
或最好使用 QFile
来删除文件之后特定位置(不是开头或结尾)的内容文件的)。因此,我首先使用 QFile::seek(long)
或 恒定时间,然后我想删除剩余的内容,也是在恒定时间内。您推荐什么方法?
I would like to use either fstream
or preferably QFile
to remove the contents of a file after a specific position (that's not the beginning or the end of the file). So I first jump to that position with QFile::seek(long)
or equivalent in constant time, and then I would like to remove the remainder of the content, also in constant time. What approach do you recommend?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用 QFile::resize 将文件大小调整为您想要的大小。我敢打赌它在幕后使用了
truncate
(请参阅安德鲁的帖子)。You can use
QFile::resize
to resize the file to the size you want. I bet it usestruncate
behind the scenes (see Andrew's post).查找...
从这个 网站 快速截取结果...
您可能还会发现这个答案很有趣。
Lookup...
A quick snip from this site yielded...
You may also find this answer interesting.
将
seek()
之后的新位置视为文件末尾。当您完成文件的处理后,请编写从开始到此时的所有内容。Consider the new position, after the
seek()
, to be the end of the file. When you're done working with the file write everything from the start up until that point.