❶ 怎么用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等)。