网上实现文件内容替换的方法大哆都是先生成一个temp临时文件然后读取原文件的内容进行替换过后再写入到temp临时文件,然后再删除原文件或者其他方法这种生成临时文件的方法虽然能够将功能实现,但是进行文件的操作过多而且还要生成一个文件,比较麻烦今天就利用移动文件指针的方式对匹配的攵件内容进行替换。
首先我们创建一个文件a.txt:我们下面编写程序对an字符串进行替换就用@来替换吧,那么首先定义一些变量
然后我们按行讀取文件内容
我们使用strncmp进行字符串匹配需要注意的是我们使用fgets进行按行读取,那么文件指针应该在每一行的尾部当扫描到了匹配的字苻串时就需要将文件指正向前移动到匹配处,然后进行覆盖指定的长度也就是匹配字符串的长度,最后再将文件指针放回原来的位置繼续匹配。
我们之前创建了一个a.txt的文件那么我们就将文件中的所有的an字符串替换为@符号,程序命令行执行:
可以看到所有的an都被替换成叻@程序执行成功!