本例程序的功能是從文件中逐個(gè)讀取字符,在屏幕上顯示。 程序定義了文件指針fp,以讀文本文件方式打開文件“e10_1.c”, 并使fp指向該文件。如打開文件出錯(cuò), 給出提示并退出程序。程序第12行先讀出一個(gè)字符,然后進(jìn)入循環(huán), 只要讀出的字符不是文件結(jié)束標(biāo)志(每個(gè)文件末有一結(jié)束標(biāo)志EOF)就把該字符顯示在屏幕上,再讀入下一字符。每讀一次,文件內(nèi)部的位置指針向后移動(dòng)一個(gè)字符,文件結(jié)束時(shí),該指針指向EOF。執(zhí)行本程序?qū)@示整個(gè)文件。
二、寫字符函數(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)建該文件。
2. 每寫入一個(gè)字符,文件內(nèi)部位置指針向后移動(dòng)一個(gè)字節(jié)。
3. fputc函數(shù)有一個(gè)返回值,如寫入成功則返回寫入的字符, 否則返回一個(gè)EOF?捎么藖(lái)判斷寫入是否成功。
[例10.2]從鍵盤輸入一行字符,寫入一個(gè)文件, 再把該文件內(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();
}
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |