C语言如何删除文件中的指定行--更新txt等形式文件

本文介绍了在C语言中如何删除TXT等文件的指定行,作者提供了相关代码实现,适用于文件更新操作。
摘要由CSDN通过智能技术生成

基于我的上一篇文章, 链接如下:

如何实现结构体和文件之间的转化

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


代码如下:

static void UpdateHistoryFile(void)
{
    FILE *fin,*fout;
    int counter = 1;
    STest test;

    do
    {
        fin=fopen("test.txt","r");
        fout=fopen("t.tmp","w");

        while(readHistoryFile(fin, &test) != EOF)
        {
            if (test.b == 20160516) // to add the judgement case.
            {
                printf("test.b < 20160516\n");
            }
            else
            {
                test.a = counter;
                writeHistoryFile(fout, test);
                counter++;
            }
        }
        
        fclose(fin);
        fclose(fout);

        remove("test.txt");
        rename("t.tmp","test.txt");
    }while(0);
    
    return;
}



Best Wishes!

Yannick Tong

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值