寫字符函數(shù) fputc
fputc函數(shù)的功能是把一個字符寫入指定的文件中,函數(shù)調(diào)用的 形式為:fputc(字符量,文件指針); 其中,
待寫入的字符量可以是字符常量或變量,例如:fputc('a',fp);其意義是把字符 a寫入fp所指向的文件中。
對于 fputc函數(shù)的使用也要說明幾點:
1. 被寫入的文件可以用、寫、讀寫,追加方式打開,用寫或讀寫方式打開一個已存在的文件時將清除原有的文件內(nèi)容,
寫入字符從文件首開始。如需保留原有文件內(nèi)容,希望寫入的字符以文件末開始存放,必須以追加方式打開文件。被
寫入的文件若不存在,則創(chuàng)建該文件。
2. 每寫入一個字符,文件內(nèi)部位置指針向后移動一個字節(jié)。
3. fputc函數(shù)有一個返回值,如寫入成功則返回寫入的字符, 否則返回一個EOF?捎么藖砼袛鄬懭胧欠癯晒。
[例 10.2]從鍵盤輸入一行字符,寫入一個文件, 再把該文件內(nèi)容讀出顯示在屏幕上。
#include
main()
{
FILE *fp;
char ch;
if((fp=fopen("string","wt+"))==NULL)
{
printf("Cannot open file strike any key exit!");
getch();
exit(1);
}
printf("input a string:\n");
ch=getchar();
while (ch!='\n')
{
fputc(ch,fp);
ch=getchar();
}
rewind(fp);
ch=fgetc(fp);
while(ch!=EOF)
{
putchar(ch);
ch=fgetc(fp);
}
printf("\n");
fclose(fp);
}
程序中第 6行以讀寫文本文件方式打開文件 string。程序第13行從鍵盤讀入一個字符后進入循環(huán),當(dāng)讀入字符
不為回車符時, 則把該字符寫入文件之中,然后繼續(xù)從鍵盤讀入下一字符。 每輸入一個字符,文件內(nèi)部位置指針向
后移動一個字節(jié)。寫入完畢, 該指針已指向文件末。如要把文件從頭讀出,須把指針移向文件頭,程序第19行 rewind
函數(shù)用于把fp所指文件的內(nèi)部位置指針移到文件頭。 第20至25行用于讀出文件中的一行內(nèi)容。
[例 10.3]把命令行參數(shù)中的前一個文件名標(biāo)識的文件,復(fù)制到后一個文件名標(biāo)識的文件中, 如命令行中只有一個文
件名則把該文件寫到標(biāo)準(zhǔn)輸出文件(顯示器)中。
#include
main(int argc,char *argv[])
{
FILE *fp1,*fp2;
char ch;
if(argc==1)
{
printf("have not enter file name strike any key exit");
getch();
exit(0);
}
if((fp1=fopen(argv[1],"rt"))==NULL)
{
printf("Cannot open %s\n",argv[1]);
getch();
exit(1);
}
if(argc==2) fp2=stdout;
else if((fp2=fopen(argv[2],"wt+"))==NULL)
{
printf("Cannot open %s\n",argv[1]);
getch();
exit(1);
}
while((ch=fgetc(fp1))!=EOF)
fputc(ch,fp2);
fclose(fp1);
fclose(fp2);
}
本程序為帶參的main函數(shù)。程序中定義了兩個文件指針 fp1 和fp2,分別指向命令行參數(shù)中給出的文件。如命
令行參數(shù)中沒有給出文件名,則給出提示信息。程序第18行表示如果只給出一個文件名,則使fp2指向標(biāo)準(zhǔn)輸出文件
(即顯示器)。程序第25行至 28行用循環(huán)語句逐個讀出文件 1中的字符再送到文件2中。再次運行時,給出了一個文
件名(由例 10.2所建立的文件),故輸出給標(biāo)準(zhǔn)輸出文件stdout,即在顯示器上顯示文件內(nèi)容。第三次運行,給出了
二個文件名,因此把 string中的內(nèi)容讀出,寫入到 OK之中?捎肈OS命令 type顯示OK的內(nèi)容:字符串讀寫函數(shù)fgets和fputs
2015年全國職稱計算機考試教材(2007模 .. 定價:¥225 優(yōu)惠價:¥213 更多書籍 | |
全國職稱計算機考試速成過關(guān)系列套裝:W .. 定價:¥133 優(yōu)惠價:¥133.0 更多書籍 |