返回信息流fstream打开一个文件,将文件指针定位到某个位置后,我想将这之后的所有数据都删除,然后这个文件指针即为ios::end
C++里能实现这样的操作么?
这是一条镜像帖。来源:北邮人论坛 / cpp / #40341同步于 2010/6/8
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
C++里如何删除文件流内的一部分内容
fancyATP
2010/6/8镜像同步12 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
好像不能一下删除
可以打开这个文件,读取想要的部分,保存到内存
然后重新打开这个文件,用ios::trunc属性,可以清空文件
然后再把保存的内容写进去,就好了吧
【 在 fancyATP (包子@忧郁) 的大作中提到: 】
: fstream打开一个文件,将文件指针定位到某个位置后,我想将这之后的所有数据都删除,然后这个文件指针即为ios::end
: C++里能实现这样的操作么?
【 在 gootyking 的大作中提到: 】
: 好像不能一下删除
: 可以打开这个文件,读取想要的部分,保存到内存
: 然后重新打开这个文件,用ios::trunc属性,可以清空文件
: ...................
我也是想到这个问题了,但是一想到如果我想读的内容很大有个十几兆的话就得读半天啊...然后内存也占用了很多...倒是刚才搜到了一个C里的函数ftruncate,不知道能不能用...
这个真囧啊...
那。。你定位到那个地方。。然后用什么空的东西写进去覆盖,不知道可以么,应该不会只是插入吧
【 在 fancyATP (包子@忧郁) 的大作中提到: 】
: 我也是想到这个问题了,但是一想到如果我想读的内容很大有个十几兆的话就得读半天啊...然后内存也占用了很多...倒是刚才搜到了一个C里的函数ftruncate,不知道能不能用...
: 这个真囧啊...
【 在 fancyATP 的大作中提到: 】
: 我也是想到这个问题了,但是一想到如果我想读的内容很大有个十几兆的话就得读半天啊...然后内存也占用了很多...倒是刚才搜到了一个C里的函数ftruncate,不知道能不能用...
: 这个真囧啊...
这个不错,你试试看
【 在 gootyking 的大作中提到: 】
: 那。。你定位到那个地方。。然后用什么空的东西写进去覆盖,不知道可以么,应该不会只是插入吧
: 【 在 fancyATP (包子@忧郁) 的大作中提到: 】
: : 我也是想到这个问题了,但是一想到如果我想读的内容很大有个十几兆的话就得读半天啊...然后内存也占用了很多...倒是刚才搜到了一个C里的函数ftruncate,不知道能不能用...
: ...................
我要实现的其实很简单,就是把文件指针之后的所有东西都删了...就这么简单...然后当前的文件指针变成了end就可以了...
呃。变成end就好了啊。。。唔
【 在 fancyATP (包子@忧郁) 的大作中提到: 】
: 我要实现的其实很简单,就是把文件指针之后的所有东西都删了...就这么简单...然后当前的文件指针变成了end就可以了...
【 在 gootyking 的大作中提到: 】
: 呃。变成end就好了啊。。。唔
: 【 在 fancyATP (包子@忧郁) 的大作中提到: 】
: : 我要实现的其实很简单,就是把文件指针之后的所有东西都删了...就这么简单...然后当前的文件指针变成了end就可以了...
: ...................
对啊,就是把之后的都删了...怎么弄呢?