导航:首页 > 文件管理 > c如何修改文件

c如何修改文件

发布时间:2023-01-04 12:29:26

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

阅读全文

与c如何修改文件相关的资料

热点内容
面膜去哪个网站买好 浏览:627
天下游旧版本 浏览:622
iphone6按键震动 浏览:528
u盘没有显示怎么打开文件夹 浏览:13
win7升级win10激活失败 浏览:914
win10系统文件缺失介质修复 浏览:900
怎么样系统升级 浏览:518
魔客吧传奇网站模板 浏览:365
一段代码解决html多浏览器兼容 浏览:803
淘车大师app官方下载 浏览:953
win10系统怎么能找回桌面文件 浏览:423
换主板怎么装驱动程序 浏览:563
宜搜小说旧版本 浏览:310
win10净网大师 浏览:262
苹果5s移动网络设置 浏览:680
主文件名的格式 浏览:336
如何找吃的app 浏览:11
js判断跳转前的页面地址 浏览:555
qq浏览器储存密码 浏览:309
网站字体阴影特效代码 浏览:187

友情链接