c语言更新,C语言中更新文件

本文介绍如何在C语言中更新文件,特别是删除其中的注释。通过打开原始文件,创建临时文件,复制内容并去除注释,然后删除原始文件并用临时文件替换,实现了文件更新。涉及的关键函数包括tmpnam、remove和rename。
摘要由CSDN通过智能技术生成

在许多文件处理应用中,你可能对创建一个新的文件不感兴趣,但是对修改已存在的文件感兴趣。修改文件的过程称为更新文件。这不像想象的那么简单。

在大多数系统中,如果一个文件因为输入而打开着,再要为输出打开它是不合法的。根据文件在特定的系统中实现的方式不同,fopen的调用可能失败或者破坏文件中的内容。

更新文件最普遍的方法是:先写新数据到临时文件中,然后更新文件的整个内容之后,用临时文件替换原有文件。因此,如果希望编写程序来更新已有的文件,该程序下面的步骤组成:

1)打开原有的输入文件;

2)打开一个不同名的临时输出文件;

3)把输入文件复制到临时文件,执行希望的更新操作;

4)关闭两个文件;

5)删除原始文件;

6)用原始文件的名称重命名临时文件;

为了实现这个策略,需要用到3个来自stdio.h接口的函数:tmpnam、remove和rename。

尽管你可以为临时文件自由地选择名称,但是在stdio.h接口中有一个tmpnam函数可以生成临时文件。临时文件的约定,随一台机器的不同而不同。调用tmpnam(null)函数返回一个适合机器的临时文件名。因此,可以使用下面的编码创建和打开一个新的临时文件:

temp = tmpnam(NULL);

outfile = fopen(temp,"w");

为了删除一个文件,只需要调用remove(name)就可以了,其中的name是该文件的名称。重命名文件也很简单,可以通过调用rename(old name, new name

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值