二、寫字符函數(shù)fputC
fputC函數(shù)的功能是把一個字符寫入指定的文件中,函數(shù)調(diào)用的 形式為: fputC(字符量,文件指針); 其中,待寫入的字符量可以是字符常量或變量,例如:fputC(’a’,fp);其意義是把字符a寫入fp所指向的文件中。
對于fputC函數(shù)的使用也要說明幾點:
1. 被寫入的文件可以用、寫、讀寫,追加方式打開,用寫或讀寫方式打開一個已存在的文件時將清除原有的文件內(nèi)容,寫入字符從文件首開始。如需保留原有文件內(nèi)容,希望寫入的字符以文件末開始存放,必須以追加方式打開文件。被寫入的文件若不存在,則創(chuàng)建該文件。
3. fputC函數(shù)有一個返回值,如寫入成功則返回寫入的字符, 否則返回一個EOF?捎么藖砼袛鄬懭胧欠癯晒。
#inClude<stdio.h>
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);
}
[例10.3]把命令行參數(shù)中的前一個文件名標(biāo)識的文件, 復(fù)制到后一個文件名標(biāo)識的文件中, 如命令行中只有一個文件名則把該文件寫到標(biāo)準(zhǔn)
#inClude<stdio.h>
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);
}
[例10.4]從e10_1.C文件中讀入一個含10個字符的字符串。
#inClude<stdio.h>
main()
{
FILE *fp;
Char str[11];
if((fp=fopen("e10_1.C","rt"))==NULL)
{
printf("Cannot open file strike any key exit!");
getCh();
exit(1);
}
fgets(str,11,fp);
printf("%s",str);
fClose(fp);
}
對fgets函數(shù)有兩點說明:
1. 在讀出n-1個字符之前,如遇到了換行符或EOF,則讀出結(jié)束。
希望與更多計算機(jī)等級考試的網(wǎng)友交流,請進(jìn)入計算機(jī)等級考試論壇
更多信息請訪問:考試吧計算機(jī)等級考試欄目
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |