问题描述
- 关于 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代码实现上面的编程???
解决方案
这么久都没人回答,因为这个问题无解!本身硬盘的文件系统就不能做到在文件中间插入内容,因为本身文件内容的储存是连续的,要讲abdef变成abcdef只能通常在把d替换为c,然后讲def复制到c后面!文件系统又不是链表,和数组类似!数组的插入只能复制插入位置后面的内容。至于题目要求,题目说要为源文件修改,不代表就不能采用复制的方式进行插入!至于删除,和增加,同理。
时间: 2024-11-30 18:00:29