c语言删除文件的指定行,更新文件

本文介绍了一个C语言实现的函数,用于从文本文件中删除满足特定条件的行,并展示了如何读取和写入文件以实现这一功能。通过实例代码,详细解释了如何判断并跳过特定日期的记录,最后更新文件内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有时候我们需要删除文件的某一行,来更新文件,在这我个人扩展了一个函数,以删除指定条件的行。

 1 static void UpdateHistoryFile(void)
 2 {
 3     FILE *fin,*fout;
 4     int counter = 1;
 5     STest test;
 6  
 7     do
 8     {
 9         fin=fopen("test.txt","r");
10         fout=fopen("t.tmp","w");
11  
12         while(readHistoryFile(fin, &test) != EOF)
13         {
14             if (test.b == 20160516) // to add the judgement case.
15             {
16                 printf("test.b < 20160516\n");
17             }
18             else
19             {
20                 test.a = counter;
21                 writeHistoryFile(fout, test);
22                 counter++;
23             }
24         }
25         
26         fclose(fin);
27         fclose(fout);
28  
29         remove("test.txt");
30         rename("t.tmp","test.txt");
31     }while(0);
32     
33     return;
34 }

 

转载于:https://www.cnblogs.com/edan/p/10183119.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值