欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

c語言用什么函數(shù)修改文件 c語言修改文件中的數(shù)據(jù)

C語言怎么修改文件信息?

#includestdio.h

在亞東等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站建設(shè)、成都網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作按需求定制設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),網(wǎng)絡(luò)營銷推廣,成都外貿(mào)網(wǎng)站建設(shè),亞東網(wǎng)站建設(shè)費(fèi)用合理。

#includestdlib.h//文件操作函數(shù)頭文件

struct st{//定義前宏一個(gè)結(jié)構(gòu)體

char a[11];//301

char b[11];//01

char c[29];//xiaoming

char d[9];//m1

};

int main()

{

FILE *fp;//文件指針

fp=fopen("D:\\123.txt","r+");//用fopen函數(shù)打開D盤下,名為123.txt的文件;

struct st s={"301"正悔肆,"01","xiaoming","m"};//各成員的初值;

scanf("%s%s",s.c,s.d);//輸入之舉轎后會(huì)把原有的信息覆蓋掉;

fprintf(fp,"%s %s %s",s.a,s.b,s.c,s.d);//用fprintf函數(shù)將固定格式的數(shù)據(jù)寫入文件;

printf("%s %s %s %s",s.a,s.b,s.c,s.d);

fclose(fp);

return 0;

/*這樣就可以修改文件內(nèi)容了,之前沒仔細(xì)看,沒看到是文件操作*/

}

c語言修改文件的數(shù)據(jù),請幫我修改下面的函數(shù)

可以使用C語言中的文件操作函數(shù),將數(shù)據(jù)寫入文件。具體如下

一、打開文件。

使用fopen函數(shù)。格式為:

FILE *fopen(const char *name, const char * mode);

其中name為要寫入的文件名唯配,mode為格式字符。要寫入文件,mode可以是:

1、 "w" 只寫方式,文本形式輸入;

2、"wb" 只寫方式,二進(jìn)制形式輸入;

3、"wb+" 讀寫方式,二進(jìn)制形式輸入;

4、"w+" 讀寫方式,文本形式輸入;

5、"a" 追加攜謹(jǐn)方式,寫入文件結(jié)尾,文本形式輸入;

6、"ab" 追加方式,寫入文件結(jié)尾,二進(jìn)制形式輸辯山基入;

7、"ab+" 追加方式,可讀寫,寫入文件結(jié)尾,二進(jìn)制形式輸入;

8、"a+" 追加方式,可讀寫,寫入文件結(jié)尾,文本形式輸入;

二、寫入數(shù)據(jù)。

可以使用各種寫入函數(shù),向文件寫入。 如打開的文件指針為fp,可以使用如下函數(shù):

1、 fputc, 寫入一個(gè)字符。聲明為:

int fputc(int ch, FILE *fp);

2、fputs, 寫入一個(gè)字符串,聲明為:

char * fputs(const char *str, FILE *fp);

3、fprintf,格式化寫入,功能和printf類似。 聲明為:

int fprintf(FILE *fp, const char *fmt, ...);

4、 fwirte, 按塊寫入二進(jìn)制數(shù)據(jù),聲明為:

int fwirte(char *buf, int block_size, int block_number, FILE *fp);

三、寫入完畢后,調(diào)用fclose關(guān)閉文件:

int fclose(FILE *fp);

C語言中什么函數(shù)可以修改文件內(nèi)容(可以隨意刪除原內(nèi)容的一部分)?

C語言文件操作詳解

C語言中沒有輸入輸出語句,所有的輸入輸出功能都用 ANSI C提供的一組標(biāo)準(zhǔn)庫函數(shù)來實(shí)現(xiàn)。文件操作標(biāo)準(zhǔn)庫函數(shù)有:

文件的打開操作 fopen 打開一個(gè)文件

文件的關(guān)閉操作 fclose 關(guān)閉一個(gè)文件

文件的讀寫操作 fgetc 從文件中讀取一個(gè)字符

  fputc 寫一個(gè)字符到文件中去

  fgets 從文件中讀取一個(gè)字符串

  fputs 寫備段一個(gè)字符串到文件中去

  fprintf 往文件中寫格式化數(shù)據(jù)

  fscanf 格式化讀取文件中數(shù)據(jù)

  fread 以二進(jìn)制形式讀取文件中的數(shù)據(jù)

 蠢激 fwrite 以二進(jìn)制形式寫數(shù)據(jù)到文件中去

  getw 以二進(jìn)制形式讀取一個(gè)整數(shù)

  putw 以二進(jìn)制形式存貯一個(gè)整數(shù)

 文件狀態(tài)檢查函數(shù) feof 文件結(jié)束

  ferror 文件讀/寫出錯(cuò)

  clearerr 清除文件錯(cuò)誤標(biāo)志

  ftell 了解文件指針的當(dāng)前位置

文件定位函數(shù) rewind 反繞

  fseek 隨機(jī)定位

# 文件的打開

 1.函數(shù)原型

FILE *fopen(char *pname,char *mode)

 2.功能說明

按照mode 規(guī)定的方式,打開由pname指定的文件。若找不到由pname指定的相應(yīng)文件,就按以下方式之一處理:

(1) 此時(shí)如mode 規(guī)定按寫方式打開文件,就按由pname指定的名字建立一個(gè)新文件;

(2) 此時(shí)如mode 規(guī)定按讀方式打開文件,就會(huì)產(chǎn)生一個(gè)錯(cuò)誤。

打開文件的作用是:

(1)分配給打開文件一個(gè)FILE 類型的文件結(jié)構(gòu)體變量,并將有關(guān)信息填入文件結(jié)構(gòu)體變量;

(2)開辟一個(gè)緩沖區(qū);

(3)調(diào)用操作系統(tǒng)提供的打開文件或建立新文件功能,打開或建立指定文件;

FILE *:指出fopen是一個(gè)返回文件類型的指針函數(shù);

 3.參數(shù)說明

pname:是一個(gè)字符指針,它將指向要打開或建立的文件的文件名字符串。

mode:是一個(gè)指向文件處理方式字符串的字符指針。所有可能的文件處理方式見表8.1

 4.返回值

 正常返回:被打開文件的文件指針。

 異常返回:NULL,表示打開操作不成功。

例如:

//定義一個(gè)名叫fp文件指針

FILE *fp;

//判斷按讀方式打開一個(gè)名叫test的文件是否失敗

if((fp=fopen("test","r")) == NULL)//打開操作不成功

{

printf("The file can not be opened.\n");  

exit(1);//結(jié)束程序的執(zhí)行

}

 要說明的是:C語言將計(jì)算機(jī)的輸入輸出設(shè)備都看作是文件。例如,鍵盤文件、屏幕文件等。ANSI C標(biāo)準(zhǔn)規(guī)定,在執(zhí)行程序時(shí)系統(tǒng)先自動(dòng)打開鍵盤、屏幕、錯(cuò)誤三個(gè)文件。這三個(gè)文件的文件指針分別是:標(biāo)準(zhǔn)輸入stdin、標(biāo)準(zhǔn)輸出stdout和標(biāo)準(zhǔn)出錯(cuò) stderr。

* 文件的關(guān)閉

1. 函數(shù)原型

int fclose(FILE *fp);

2. 功能說明

關(guān)閉由fp指出的文件。此時(shí)調(diào)用操作系統(tǒng)提供的文件關(guān)閉功能,關(guān)閉由fp-fd指出的文件;釋放由fp指出的文件類型結(jié)構(gòu)體變量;返回操作結(jié)果,即0或EOF。

3. 參數(shù)說明

fp:一個(gè)已打開文件的文件指針。

4. 返回值

正常返回:0。

異常返回:EOF,表示文件在關(guān)閉時(shí)發(fā)生錯(cuò)誤。

例如:

int n=fclose(fp);

*文件的讀寫操作仿檔譽(yù)

A. 從文件中讀取一個(gè)字符

1. 函數(shù)原型

int fgetc(FILE *fp);

2. 功能說明

從fp所指文件中讀取一個(gè)字符。

3. 參數(shù)說明

fp:這是個(gè)文件指針,它指出要從中讀取字符的文件。

4. 返回值

正常返回: 返回讀取字符的代碼。

非正常返回:返回EOF。例如,要從"寫打開"文件中讀取一個(gè)字符時(shí),會(huì)發(fā)生錯(cuò)誤而返回一個(gè)EOF。

5. 實(shí)例

【例】顯示指定文件的內(nèi)容。

//程序名為:display.c

//執(zhí)行時(shí)可用:display filename1 形式的命令行運(yùn)行。顯示文件filename1中的內(nèi)容。例如,執(zhí)行命令行display display.c將在屏幕上顯示display的原代碼。

//File display program.

#include stdio.h

void main(int argc,char *argv[]) //命令行參數(shù)

{

int ch;//定義文件類型指針

FILE *fp;//判斷命令行是否正確

if(argc!=2)

{

printf("Error format,Usage: display filename1\n");

return; //鍵入了錯(cuò)誤的命令行,結(jié)束程序的執(zhí)行

}

//按讀方式打開由argv[1]指出的文件

if((fp=fopen(argv[1],"r"))==NULL)

{

printf("The file %s can not be opened.\n",argv[1]);//打開操作不成功

return;//結(jié)束程序的執(zhí)行

}

//成功打開了argv[1]所指文件

ch=fgetc(fp); //從fp所指文件的當(dāng)前指針位置讀取一個(gè)字符

while(ch!=EOF) //判斷剛讀取的字符是否是文件結(jié)束符

{

putchar(ch); //若不是結(jié)束符,將它輸出到屏幕上顯示

ch=fgetc(fp); //繼續(xù)從fp所指文件中讀取下一個(gè)字符

} //完成將fp所指文件的內(nèi)容輸出到屏幕上顯示

fclose(fp); //關(guān)閉fp所指文件

}

B. 寫一個(gè)字符到文件中去

1. 函數(shù)原型

int fputc(int ch,FILE *fp)

2. 功能說明

把ch中的字符寫入由fp指出的文件中去。

3. 參數(shù)說明

ch:是一個(gè)整型變量,內(nèi)存要寫到文件中的字符(C語言中整型量和字符量可以通用)。

fp:這是個(gè)文件指針,指出要在其中寫入字符的文件。

4. 返回值

正常返回: 要寫入字符的代碼。

非正常返回:返回EOF。例如,要往"讀打開"文件中寫一個(gè)字符時(shí),會(huì)發(fā)生錯(cuò)誤而返回一個(gè)EOF。

5. 實(shí)例

【例】將一個(gè)文件的內(nèi)容復(fù)制到另一個(gè)文件中去。

//程序名為:copyfile.c

//執(zhí)行時(shí)可用:copyfile filename1 filename2形式的命令行運(yùn)行,將文件filename1中的內(nèi)容復(fù)制到文件filename2中去。

//file copy program.

#include stdio.h

void main(int argc,char *argv[]) //命令行參數(shù)

{

int ch;

FILE *in,*out; //定義in和out兩個(gè)文件類型指針

if(argc!=3) //判斷命令行是否正確

{

printf("Error in format,Usage: copyfile filename1 filename2\n");

return; //命令行錯(cuò),結(jié)束程序的執(zhí)行

}

//按讀方式打開由argv[1]指出的文件

if((in=fopen(argv[1],"r"))==NULL)

{

printf("The file %s can not be opened.\n",argv[1]);

return; //打開失敗,結(jié)束程序的執(zhí)行

}

//成功打開了argv[1]所指文件,再

//按寫方式打開由argv[2]指出的文件

if((out=fopen(argv[2],"w"))==NULL)

{

printf("The file %s can not be opened.\n",argv[2]);

return; //打開失敗,結(jié)束程序的執(zhí)行

}

//成功打開了argv[2]所指文件

ch=fgetc(in); //從in所指文件的當(dāng)前指針位置讀取一個(gè)字符

while(ch!=EOF) //判斷剛讀取的字符是否是文件結(jié)束符

{

fputc(ch,out); //若不是結(jié)束符,將它寫入out所指文件

ch=fgetc(in); //繼續(xù)從in所指文件中讀取下一個(gè)字符

} //完成將in所指文件的內(nèi)容寫入(復(fù)制)到out所指文件中

fclose(in); //關(guān)閉in所指文件

fclose(out); //關(guān)閉out所指文件

}

【例】按十進(jìn)制和字符顯示文件代碼,若遇不可示字符就用井號"#"字符代替之。

//程序名為:dumpf.c

//執(zhí)行時(shí)可用:dumpf filename1 形式的命令行運(yùn)行。

// File dump program.

#include stdio.h

void main(int argc,char *argv[])

{

char str[9];

int ch,count,i;

FILE *fp;

if(argc!=2)

{

printf("Error format,Usage: dumpf filename\n");

return;

}

if((fp=fopen(argv[1],"r"))==NULL)

{

printf("The file %s can not be opened.\n",argv[1]);

return;

}

count=0;

do{

i=0;

//按八進(jìn)制輸出第一列,作為一行八個(gè)字節(jié)的首地址

printf("%06o: ",count*8);

do{

// 從打開的文件中讀取一個(gè)字符

ch=fgetc(fp);

// 按十進(jìn)制方式輸出這個(gè)字符的ASCII碼

printf("%4d",ch);

// 如果是不可示字符就用"#"字符代替

if(ch' '||ch'~') str[i]='#';

// 如果是可示字符,就將它存入數(shù)組str以便形成字符串

else str[i]=ch;

// 保證每一行輸出八個(gè)字符

if(++i==8) break;

}while(ch!=EOF); // 遇到文件尾標(biāo)志,結(jié)束讀文件操作

str[i]='\0'; // 在數(shù)組str加字符串結(jié)束標(biāo)志

for(;i8;i++) printf(" "); // 一行不足八個(gè)字符用空格填充

printf(" %s\n",str); // 輸出字符串

count++; // 準(zhǔn)備輸出下一行

}while(ch!=EOF); // 直到文件結(jié)束

fclose(fp); // 關(guān)閉fp所指文件

}

C. 從文件中讀取一個(gè)字符串

1. 函數(shù)原型

char *fgets(char *str,int n,FILE *fp)

2. 功能說明

從由fp指出的文件中讀取n-1個(gè)字符,并把它們存放到由str指出的字符數(shù)組中去,最后加上一個(gè)字符串結(jié)束符'\0'。

3. 參數(shù)說明

str:接收字符串的內(nèi)存地址,可以是數(shù)組名,也可以是指針。

n: 指出要讀取字符的個(gè)數(shù)。

fp:這是個(gè)文件指針,指出要從中讀取字符的文件。

4. 返回值

正常返回:返回字符串的內(nèi)存首地址,即str的值。

非正常返回:返回一個(gè)NULL值,此時(shí)應(yīng)當(dāng)用feof()或ferror()函數(shù)來判別是讀取到了文件尾,還是發(fā)生了錯(cuò)誤。例如,要從"寫打開"文件中讀取字符串,將

發(fā)生錯(cuò)誤而返回一個(gè)NULL值。

D. 寫一個(gè)字符串到文件中去

1. 函數(shù)原型

int fputs(char *str,FILE *fp)

2. 功能說明

把由str指出的字符串寫入到fp所指的文件中去。

3. 參數(shù)說明

str:指出要寫到文件中去的字符串。

fp:這是個(gè)文件指針,指出字符串要寫入其中的文件。

4. 返回值

正常返回: 寫入文件的字符個(gè)數(shù),即字符串的長度。

非正常返回:返回一個(gè)NULL值,此時(shí)應(yīng)當(dāng)用feof()或ferror()函數(shù)來判別是讀取到了文件尾,還是發(fā)生了錯(cuò)誤。例如,要往一個(gè)"讀打開" 文件中寫字符串時(shí),

會(huì)發(fā)生錯(cuò)誤而返回一個(gè)NULL值。

5.實(shí)例

【例】以下程序?qū)⒁粋€(gè)文件的內(nèi)容附加到另一個(gè)文件中去。

//程序名:linkfile.c

//執(zhí)行時(shí)可用:linkfile filename1 filename2形式的命令行運(yùn)行,將文件filename2的內(nèi)容附加在文件filename1之后。

// file linked program.

#include stdio.h

#define SIZE 512

void main(int argc,char *argv[])

{

char buffer[SIZE];

FILE *fp1,*fp2;

if(argc!=3)

{

printf("Usage: linkfile filename1 filename2\n");

return;

}

// 按追加方式打開argv[1] 所指文件

if((fp1=fopen(argv[1],"a"))==NULL)

{

printf("The file %s can not be opened.\n",argv[1]);

return;

}

if((fp2=fopen(argv[2],"r"))==NULL)

{

printf("The file %s can not be opened.\n",argv[2]);

return;

}

// 讀入一行立即寫出,直到文件結(jié)束

while(fgets(buffer,SIZE,fp1)!=NULL)

printf("%s\n",buffer);

while(fgets(buffer,SIZE,fp2)!=NULL)

fputs(buffer,fp1);

fclose(fp1);

fclose(fp2);

if((fp1=fopen(argv[1],"r"))==NULL)

{

printf("The file %s can not be opened.\n",argv[1]);

return;

}

while(fgets(buffer,SIZE,fp1)!=NULL)

printf("%s\n",buffer);

fclose(fp1);

}

分享題目:c語言用什么函數(shù)修改文件 c語言修改文件中的數(shù)據(jù)
網(wǎng)頁路徑:http://www.chinadenli.net/article0/ddpseio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)響應(yīng)式網(wǎng)站網(wǎng)站策劃建站公司虛擬主機(jī)定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)