二、寫字符函數(shù)fputC
fputC函數(shù)的功能是把一個(gè)字符寫入指定的文件中,函數(shù)調(diào)用的 形式為: fputC(字符量,文件指針); 其中,待寫入的字符量可以是字符常量或變量,例如:fputC(’a’,fp);其意義是把字符a寫入fp所指向的文件中。
對(duì)于fputC函數(shù)的使用也要說(shuō)明幾點(diǎn):
1. 被寫入的文件可以用、寫、讀寫,追加方式打開,用寫或讀寫方式打開一個(gè)已存在的文件時(shí)將清除原有的文件內(nèi)容,寫入字符從文件首開始。如需保留原有文件內(nèi)容,希望寫入的字符以文件末開始存放,必須以追加方式打開文件。被寫入的文件若不存在,則創(chuàng)建該文件。
3. fputC函數(shù)有一個(gè)返回值,如寫入成功則返回寫入的字符, 否則返回一個(gè)EOF?捎么藖(lái)判斷寫入是否成功。
#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ù)中的前一個(gè)文件名標(biāo)識(shí)的文件, 復(fù)制到后一個(gè)文件名標(biāo)識(shí)的文件中, 如命令行中只有一個(gè)文件名則把該文件寫到標(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文件中讀入一個(gè)含10個(gè)字符的字符串。
#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);
}
對(duì)fgets函數(shù)有兩點(diǎn)說(shuō)明:
1. 在讀出n-1個(gè)字符之前,如遇到了換行符或EOF,則讀出結(jié)束。
希望與更多計(jì)算機(jī)等級(jí)考試的網(wǎng)友交流,請(qǐng)進(jìn)入計(jì)算機(jī)等級(jí)考試論壇
更多信息請(qǐng)?jiān)L問(wèn):考試吧計(jì)算機(jī)等級(jí)考試欄目
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |