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

关于 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 2016-02-22 16:27
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 adb连接不到手机是怎么回事?
  • ¥15 vs2022无法联网
  • ¥15 TCP的客户端和服务器的互联
  • ¥15 VB.NET操作免驱摄像头
  • ¥15 笔记本上移动热点开关状态查询
  • ¥85 类鸟群Boids——仿真鸟群避障的相关问题
  • ¥15 CFEDEM自带算例错误,如何解决?
  • ¥15 有没有会使用flac3d软件的家人
  • ¥20 360摄像头无法解绑使用,请教解绑当前账号绑定问题,
  • ¥15 docker实践项目