C++文件操作问题,如何将文件中的指定部分数据替换而保持其他部分不变

C++文件操作问题,如何将文件中的指定部分数据替换而保持其他部分不变如图,如何将这个TXT文件中的0×15提换成0×20,并且保持其他部分不变... C++文件操作问题,如何将文件中的指定部分数据替换而保持其他部分不变如图,如何将这个TXT文件中的0×15提换成0×20,并且保持其他部分不变 展开
 我来答
木有想到GK5ym
推荐于2018-03-19 · TA获得超过208个赞
知道小有建树答主
回答量:207
采纳率:90%
帮助的人:123万
展开全部
这个太麻烦了,简单跟你说一下思想,不管你是用c的FILE指针还是c++的fstream,大致如下
1、打开文件
2、按顺序以次读取,一次读一个字符
3、判断是不是0,如果是0,记下文件指针的位置
4、继续读取,以次判断是不是x、1、5三个;如果下一个字符是0,回到第3步;如果不匹配,重复2-4步
5、匹配成功后,让文件指针返回第3步记录的位置
6、写入0x15,关闭文件

简单来说就是自己实现一个字符串查找的功能

另外就是直接整个文件先读进来,然后用字符串替换功能替换后,再写入文件

再进一步,可以结合上面两个办法,就是一次读入一行,然后查找替换,如果替换成功后,就将新的内容写入文件。写入文件有两个思路,如果是替换前后的字符串长度一样,可以记下行首指针位置,写入一替换后的内容即可。如果长度不一样,就新开文件写入。
xiaohuh421
2016-08-17 · TA获得超过904个赞
知道小有建树答主
回答量:897
采纳率:0%
帮助的人:368万
展开全部
因为文件不支持随机写入.
所以只能读取出来, 替换后, 重新写入.
如果你的文件不大, 那么就一次全部读取出来, 修改后全部重新写入.
如果文件比较大, 那么就每次读取一行或者一个数据块, 修改后写入临时文件中. 修改完后, 再用临时文件替换原文件.
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式