c语言 文件 字符串添加,或替换,或修改
有a.txt内容为
a=1
x!=22
b=333
d=4444
现在要将要a.txt的内容改为
a=100
b=2
c=3
d=4444
即是:
1.在1后面添加00
2.删除第二行
3.删除第三行的后两个3
4.添加一行c=3
要求:
1.直接在原文件上进行修改,不能是用另一个文件来替换掉a.txt
这个直接在原文件中实现添加,我真写不出来代码,
我是以“rw+”的方式打开a.txt的,发现fputs()只能实现替换原字符,不能是添加字符(把后面的文字替换掉了),除非是在文件最后添加内容,在文件中间实现添加,我不知道怎么写代码???
因为fputs等一些函数好像只能替换掉当前文件指针所指的内容。
诚请教如何用c代码实现上面的编程???
[解决办法]
放弃吧。我已经放弃了
[解决办法]
没有这种功能,你只能先全部把文件读取进来,然后把文件全部给ftruncate清空再写。而且行其实就是\n字符而已。
[解决办法]
全部读出来,修改完再写回去,没有新创建文件吧?
[解决办法]
与你在纸上写字不同,全部更新简单
[解决办法]
这个····还是直接先读出来再修改来的简单点