如何用C语言文件操作修改指定文件

 我来答
焉雪枫刘问
2019-01-31 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:34%
帮助的人:877万
展开全部
一个c语言读写文件程序:
#include
"stdio.h"
#include
main()
{
file
*fp1;//定义文件流指针,用于打开读取的文件
file
*fp2;//定义文件流指针,用于打开写操作的文件
char
text[1024];//定义一个字符串数组,用于存储读取的字符
fp1
=
fopen("d:\\a.txt","r");//只读方式打开文件a.txt
fp2
=
fopen("d:\\b.txt","w");//写方式打开文件a.txt
while(fgets(text,1024,fp1)!=null)//逐行读取fp1所指向文件中的内容到text中
{
puts(text);//输出到屏幕
fputs(text,fp2);//将内容写到fp2所指向文件中
}
fclose(fp1);//关闭文件a.txt,有打开就要有关闭
fclose(fp2);//关闭文件b.txt
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
暨半凡招芬
2020-04-09 · TA获得超过2.9万个赞
知道大有可为答主
回答量:1.1万
采纳率:34%
帮助的人:680万
展开全部
由于操作系统对文件操作做了封装,本来很容易的事情变得很难了。
修改文件最好的,最简单的方法,是新建一个文件,把修改部分前面的,先写入新文件,
然后写入修改的部分,再把后一部分没有修改的,写到新文件中去。然后文件重命名。
原文件改名备份文件,新文件改名原文件。
如果修改的数据很少N~100N
KB,N~10N
MB
可以用缓冲区处理好修改,再写入文件。
FILE×
fopen
fseek
fwrite
fclose
PS:
1)如果修改的内容,和原文件被修改的数据,字节数完全相同,直接找到要修改的地方,写入新内容就可以了。
2)如果修改后的内容,和原文件被修改的数据,字节数不同,建议新建一个文件,否则很麻烦,要用读写方式打开。
a)
如果修改后数据增加,把修改数据后的所有数据向后移动,给修改的数据腾地方。
b)
如果减少,要把所有数据前移,然后修改文件长度。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式