讀字符函數(shù) fgetc
fgetc函數(shù)的功能是從指定的文件中讀一個字符,函數(shù)調(diào)用的形式為: 字符變量=fgetc(文件指針); 例如:
ch=fgetc(fp);其意義是從打開的文件 fp中讀取一個字符并送入ch中。
對于 fgetc函數(shù)的使用有以下幾點說明:
1. 在 fgetc函數(shù)調(diào)用中,讀取的文件必須是以讀或讀寫方式打開的。
2. 讀取字符的結(jié)果也可以不向字符變量賦值,例如:fgetc(fp);但是讀出的字符不能保存。
3. 在文件內(nèi)部有一個位置指針。用來指向文件的當前讀寫字節(jié)。在文件打開時,該指針總是指向文件的第一個字節(jié)。
使用fgetc 函數(shù)后, 該位置指針將向后移動一個字節(jié)。 因此可連續(xù)多次使用 fgetc函數(shù),讀取多個字符。 應注意
文件指針和文件內(nèi)部的位置指針不是一回事。文件指針是指向整個文件的,須在程序中定義說明,只要不重新賦值,
文件指針的值是不變的。文件內(nèi)部的位置指針用以指示文件內(nèi)部的當前讀寫位置,每讀寫一次,該指針均向后移動,
它不需在程序中定義說明,而是由系統(tǒng)自動設置的。
[例 10.1]讀入文件e10-1.c,在屏幕上輸出。
#include
main()
{
FILE *fp;
char ch;
if((fp=fopen("e10_1.c","rt"))==NULL)
{
printf("Cannot open file strike any key exit!");
getch();
exit(1);
}
ch=fgetc(fp);
while (ch!=EOF)
{
putchar(ch);
ch=fgetc(fp);
}
fclose(fp);
}
本例程序的功能是從文件中逐個讀取字符,在屏幕上顯示。程序定義了文件指針fp,以讀文本文件方式打開文件
“e10_1.c”, 并使fp指向該文件。如打開文件出錯,給出提示并退出程序。程序第12行先讀出一個字符,然后進
入循環(huán),只要讀出的字符不是文件結(jié)束標志(每個文件末有一結(jié)束標志EOF)就把該字符顯示在屏幕上,再讀入下一字
符。每讀一次,文件內(nèi)部的位置指針向后移動一個字符,文件結(jié)束時,該指針指向EOF。執(zhí)行本程序?qū)@示整個文件。
![]() | ![]() .. 定價:¥225 優(yōu)惠價:¥213 更多書籍 |
![]() | ![]() .. 定價:¥133 優(yōu)惠價:¥133.0 更多書籍 |