sinat_33931347
sinat_33931347
2016-02-22 08:06
采纳率: 100%
浏览 1.6k
已采纳

关于 C语言 文件 添加字符问题

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代码实现上面的编程???

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • hyb1996
    hyb1996 2016-02-22 16:27
    已采纳

    这么久都没人回答,因为这个问题无解!本身硬盘的文件系统就不能做到在文件中间插入内容,因为本身文件内容的储存是连续的,要讲abdef变成abcdef只能通常在把d替换为c,然后讲def复制到c后面!文件系统又不是链表,和数组类似!数组的插入只能复制插入位置后面的内容。至于题目要求,题目说要为源文件修改,不代表就不能采用复制的方式进行插入!至于删除,和增加,同理。

    点赞 评论

相关推荐