C++文件操作问题,如何将文件中的指定部分数据替换而保持其他部分不变
C++文件操作问题,如何将文件中的指定部分数据替换而保持其他部分不变如图,如何将这个TXT文件中的0×15提换成0×20,并且保持其他部分不变...
C++文件操作问题,如何将文件中的指定部分数据替换而保持其他部分不变如图,如何将这个TXT文件中的0×15提换成0×20,并且保持其他部分不变
展开
2个回答
展开全部
这个太麻烦了,简单跟你说一下思想,不管你是用c的FILE指针还是c++的fstream,大致如下
1、打开文件
2、按顺序以次读取,一次读一个字符
3、判断是不是0,如果是0,记下文件指针的位置
4、继续读取,以次判断是不是x、1、5三个;如果下一个字符是0,回到第3步;如果不匹配,重复2-4步
5、匹配成功后,让文件指针返回第3步记录的位置
6、写入0x15,关闭文件
简单来说就是自己实现一个字符串查找的功能
另外就是直接整个文件先读进来,然后用字符串替换功能替换后,再写入文件
再进一步,可以结合上面两个办法,就是一次读入一行,然后查找替换,如果替换成功后,就将新的内容写入文件。写入文件有两个思路,如果是替换前后的字符串长度一样,可以记下行首指针位置,写入一替换后的内容即可。如果长度不一样,就新开文件写入。
1、打开文件
2、按顺序以次读取,一次读一个字符
3、判断是不是0,如果是0,记下文件指针的位置
4、继续读取,以次判断是不是x、1、5三个;如果下一个字符是0,回到第3步;如果不匹配,重复2-4步
5、匹配成功后,让文件指针返回第3步记录的位置
6、写入0x15,关闭文件
简单来说就是自己实现一个字符串查找的功能
另外就是直接整个文件先读进来,然后用字符串替换功能替换后,再写入文件
再进一步,可以结合上面两个办法,就是一次读入一行,然后查找替换,如果替换成功后,就将新的内容写入文件。写入文件有两个思路,如果是替换前后的字符串长度一样,可以记下行首指针位置,写入一替换后的内容即可。如果长度不一样,就新开文件写入。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询