導航:首頁 > 文件管理 > 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如何修改文件相關的資料

熱點內容
如何修改數據上年結轉 瀏覽:6
win7一直配置文件重啟 瀏覽:124
佳能ir2525i網路掃描 瀏覽:283
win10指紋無法識別 瀏覽:646
jsp中怎麼引入js文件 瀏覽:925
文件名構成部分 瀏覽:484
興國互聯網app有哪些 瀏覽:475
北京時間票房多少票房統計數據 瀏覽:750
探探文件夾是哪個 瀏覽:429
如何分類微信文件 瀏覽:446
城市天際線win10 瀏覽:813
運動APP跑步如何抓作弊 瀏覽:57
微信中秋節動態祝福語 瀏覽:703
練英語的網站哪個好 瀏覽:894
科來網路分析系統報價 瀏覽:437
哪裡可以上傳自己的php網站 瀏覽:373
安卓手機如何打開zx文件 瀏覽:531
app攻擊是什麼 瀏覽:888
app上有把鎖是什麼意思 瀏覽:611
如何用c語言編程五角星 瀏覽:183

友情鏈接