c语言 替换文件中的字符,(C语言)文件内容替换-替换字符串(移动文件指针)...

本文介绍了一种不通过生成临时文件,而是利用文件指针移动来替换文件内特定字符串的方法。通过定义相关变量,按行读取文件内容,使用strncmp进行字符串匹配,找到匹配项后进行替换,并调整文件指针位置,实现在原文件中直接修改内容。
摘要由CSDN通过智能技术生成

背景

网上实现文件内容替换的方法大多都是先生成一个temp临时文件,然后读取原文件的内容进行替换过后再写入到temp临时文件,然后再删除原文件或者其他方法,这种生成临时文件的方法虽然能够将功能实现,但是进行文件的操作过多,而且还要生成一个文件,比较麻烦,今天就利用移动文件指针的方式对匹配的文件内容进行替换。

解决方案

首先我们创建一个文件a.txt:

b64f778b3710

新建文件

我们下面编写程序对an字符串进行替换,就用@来替换吧,那么首先定义一些变量

//变量定义

char buffer[MAX_LENGTH];

int fp_start = 0; //记录文件指针起始

int fp_end = 0; //记录文件指针末尾

int buffer_length = 0;

int move_length = 0;

FILE *fp = fopen(argv[1],"r+"); //使用命令行参数打开文件位置

然后我们按行读取文件内容

if(fgets(buffer, MAX_LENGTH, fp) == NULL)

{

break;

}

else

{

buffer_length = strlen(buffer);

for(int j = 0; j < buffer_length;

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值