c语言怎么修改txt文件中的单词

Python08

c语言怎么修改txt文件中的单词,第1张

1、打开原文件和1个备份文件。

2、从原文件读取一行,写入临时文件中,在临时文件读取写入文件长度。

3、将原文件指针向前移动返回的文件长度。

4、将要修改的文件内容写入原文件部分代码,写入文件时,需要给前面一行留空,使文件指针可以移动。

三种方法:

(1)将文件中数据读入内存中,修改后,清空源文件,存入新数据。

(2)以读写的方式打开文件,将文件指针移动到要修改的地方,写入新数据。新数据将会覆盖掉旧数据。

(3)以读写的方式打开文件,将文件指针定位到需要修改数据的末尾,然后删除需要修改的数据(通过循环n次执行fputc(8,fp),直到清空需要修改的数据为止.

8为退格键对应的ascii)。

然后计算需要加入的新数据长度,通过fputc(32,fp)来添加空格到文件中(32为空格键的ascii).

然后根据指针位置,填入数据覆盖掉这些空格。

第一种方法适合数据量较小的情况,

后两种情况适合数据量较大的情况,但程序写起来麻烦,如果用心写代码,也用不了多久。呵呵。

#include<stdio.h>

#include<stdlib.h>//文件操作函数头文件

struct st{//定义一个结构体

char a[11]//301

char b[11]//01

char c[29]//xiaoming

char d[9]//m1

}

int main()

{

FILE *fp//文件指针

fp=fopen("D:\\123.txt","r+")//用fopen函数打开D盘下,名为123.txt的文件;

struct st s={"301","01","xiaoming","m"}//各成员的初值

scanf("%s%s",s.c,s.d)//输入之后会把原有的信息覆盖掉;

fprintf(fp,"%s %s %s",s.a,s.b,s.c,s.d)//用fprintf函数将固定格式的数据写入文件;

printf("%s %s %s %s",s.a,s.b,s.c,s.d)

fclose(fp)

return 0

/*这样就可以修改文件内容了,之前没仔细看,没看到是文件操作*/

}