fgetc
函数 <cstdio>
int fgetc ( FILE * stream );
从流中获取字符
返回指定流的内部位置指示器当前指向的字符。然后将位置指示器移动到下一个字符。
如果调用时流位于文件结束位置,则该函数返回EOF,并设置流的文件结束指示符(
feof)。
如果发生读错误,该函数将返回EOF并设置流的错误指示符(
ferror)。
fgetc和
getc是等价的,只是在某些库中,
getc可以作为宏实现。
☲ 参数
stream
指向标识输入流的
FILE对象的指针。
☉ 返回值
如果成功,则返回读的字符(转换为int值)。
返回类型为int,以适应特殊值
EOF,该值表示失败:
-如果位置指示符位于文件结束位置,则函数返回
EOF并设置流的EOF指示符(
feof)。
-如果发生其他读取错误,该函数也返回
EOF,但设置其错误指示符(
ferror)。
☣ 示例
/* fgetc example: money counter */
#include <stdio.h>
int main ()
{
FILE * pFile;
int c;
int n = 0;
pFile=fopen ("myfile.txt","r");
if (pFile==NULL) perror ("Error opening file");
else
{
do {
c = fgetc (pFile);
if (c == '$') n++;
} while (c != EOF);
fclose (pFile);
printf ("The file contains %d dollar sign characters ($).\n",n);
}
return 0;
}
|
这个程序一个字符一个字符地读取名为myfile.txt的现有文件,并使用n变量计算该文件包含多少美元字符($)。
🍄 另请参阅
getc |
从流中获取字符(function ) |
fputc |
将字符写入流(function ) |
fread |
从流中读取数据块(function ) |
fscanf |
从流读取格式化的数据(function ) |