c如何修改文件|怎么用C语言修改文件内容

❶ 怎么用C语言修改文件内容

用fopen打开文件,读入内容。然后修改掉想要修改的地方,再用fopen打开,把修改后的文件输出到文件里。

❷ c 修改文件

这个只能从文件中读取出来,并查找“gsdfs”,将前面读到的写入临时文件,修改这行,将“nxjcvdf”写入临时文件,再将后面的读取处理,写入临时文件。再将原来文件删除,将临时文件重命名。这样才行。#include <stdio.h>#include <string.h>#include <dos.h>#include <errno.h>/*错误处理头文件*/#define IN_FILE_NAME "abc.txt"/*要输入的文件*/int main(){ FILE *ptrin, *ptrout; /*打开文件时的指针*/ char readthis[128], cmd[128]; int tem; char find[128] = "cvsdf", replace[128] = "nxjcvdf"; if ((ptrin = fopen(IN_FILE_NAME, "r")) == NULL || (ptrout = fopen("temp.txt", "w")) == NULL)/*以读的方式打开输入文件*/ { printf("程序运行中发生了错误!\n"); perror(IN_FILE_NAME);/*错误处理*/ getchar(); } else/*成功打开进行下面操作*/ { while (!feof(ptrin)) { fscanf(ptrin, "%s %d", readthis, &tem); printf("%s\n", readthis); if (strcmp(readthis, find) == 0) { printf("找到\n"); fprintf(ptrout, "%s %d\n", replace, tem); } else fprintf(ptrout, "%s %d\n", readthis, tem); } fclose(ptrin); fclose(ptrout); unlink(IN_FILE_NAME); sprintf(cmd, "rename %s %s", "temp.txt", IN_FILE_NAME); system(cmd); } return 0;}

❸ 如何在C语言编程里面修改源文件名字

修改文件名,可要调用操作系统提供的API函数,比如Windows上的MoveFile(),也可以直接调用cmd中已提供的重命名命令——rename。下面的示例代码,调用rename命令来重名命文件名。

#include<stdio.h>#include<stdlib.h>#include<string.h>intmain(intac,char*pav[]){if(ac!=3){printf("程序名要重命名的文件路径新的文件名
");printf("示例:test.exe1.txt2.txt
");return0;}if(access(pav[1],0)!=0){printf("不存在该文件
");return0;}charszcmd[256]="cmd/crename";strcat(szcmd,pav[1]);strcat(szcmd,"");strcat(szcmd,pav[2]);system(szcmd);return0;}

❹ C语言 修改文件中的数据

有三种方法可以实现,分别如下:

第种、将文件中数据读入内存中,修改后,清空源文件,存入新数据。

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

第3种、以读写的方式打开文件,将文件指针定位到需要修改数据的末尾,然后删除需要修改的数据(通过循环n次执行fputc(8,fp),直到清空需要修改的数据为止,8为退格键对应的ascii)。 然后计算需要加入的新数据长度,通过fputc(32,fp)来添加空格到文件中(32为空格键的ascii). 然后根据指针位置,填入数据覆盖掉这些空格。

注意:第1种方法适合数据量较小的情况,第2种、第3种适合数据量较大的情况。

提供一个参考代码,如下:

#include"stdio.h"main(){FILE*in=fopen("f:\test.txt","r");FILE*out=fopen("f:\back.txt","w");/*out是充当临时文件作用*/intch=0;if(!in){printf("cann'topentest.txt
");exit(1);}if(!out){printf("cann'tcreateback.txt
");exit(1);}/*开始复制*/while(!feof(in)){ch=fgetc(in);if(ch=='a')ch='p';fputc(ch,out);}fclose(in);fclose(out);unlink("f:\test.txt");/*删除test.txt*/rename("f:\back.txt","test.txt");/*改名*/printf("ok!!!!!!
");}

❺ C语言怎么修改文件信息

把文件里面数据读出来,在内存里面改掉,再把改后的数据写回去c操作文件没有修改的方式,只有追加,不过也不适合你的需最常用的就是这样,先读,改 再重写

❻ 怎么用C语言修改文件内容

提供思路:复先一组制一组数据读取,然后进行比较,看是不是你要修改的数据(如果是你要修改的数据,那此时文件的指针已经指向下一组数据了),然后用fseek(fp,-sizeof(type),seek_cur);使文件指针指向该数据块(fp为文件指针,sizeof(type)为数据长度,type是我指定,你可以换成你需要的数据类型,比如int或是struct等)如果你知道数据是第几组就更好了,直接用fseek(fp,(n-1)*sizeof(type),seek_set);就能找到位置了用前面两种方法的前提是,你存入数据的时候用的都是以数据块的方式写入的同一种数据(比如只用fwrite()函数写入的struct类型数据),如果用的是复合方式写入,比如用了fwrite()、fputc()、fprintf(),这样的话,定位就有问题了。

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

1、打开原文件和1个备份文件。2、从原文件读取一行,写入临时文件中,在临时文件读取写入文件长度。 3、将原文件指针向前移动返回的文件长度。 4、将要修改的文件内容写入原文件部分代码,写入文件时,需要给前面一行留空,使文件指针可以移动。

❽ 在c语言中,怎么修改文件中相关数据信息

三种方法:(1)将文件中数据读入内存中,修改后,清空源文件,存入新数据。(2)以读写的方式打开文件,将文件指针移动到要修改的地方,写入新数据。新数据将会覆盖掉旧数据。(3)以读写的方式打开文件,将文件指针定位到需要修改数据的末尾,然后删除需要修改的数据(通过循环n次执行fputc(8,fp),直到清空需要修改的数据为止.8为退格键对应的ascii)。然后计算需要加入的新数据长度,通过fputc(32,fp)来添加空格到文件中(32为空格键的ascii).然后根据指针位置,填入数据覆盖掉这些空格。第一种方法适合数据量较小的情况,后两种情况适合数据量较大的情况,但程序写起来麻烦,如果用心写代码,也用不了多久。呵呵。

❾ C语言怎么修改文件内容

不好意思目前我只会修改2进制文件以''r+t"形式打开fseek()定位文件指针到你要修改的位置fwrite()直接放进你的数据完成修改对于文本文件我没办法郁闷

❿ C语言怎么修改文件内容

先一组一组数据读取,然后进行比较,看是不是要修改的数据(如果是要修改专的数据,那此时文件的指针已属经指向下一组数据了),然后用fseek(fp,-sizeof(type),SEEK_CUR);使文件指针指向该数据块(fp为文件指针,sizeof(type)为数据长度,type是指定,可以换成需要的数据类型,比如int或是struct等)。


赞 (0)