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后面!文件系统又不是链表,和数组类似!数组的插入只能复制插入位置后面的内容。至于题目要求,题目说要为源文件修改,不代表就不能采用复制的方式进行插入!至于删除,和增加,同理。

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

报告相同问题?

悬赏问题

  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试