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