C语言文件函数

C语言 fgetc() 函数 读取文件指针的一个字符,并且将指针移动到下一个字符。

该函数不能单独使用,因为读取文件需要先打开文件 fopen() 函数,读取完成之后还需要关闭文件fclose() 函数。

语法

int fgetc (FILE *fp);

参数

  • fp:文件指针。

返回值

返回int类型,如果到达文件末尾或发生读错误,则返回 EOF。

注意

从返回值可以知道到达文件末尾或者出错都会返回EOF,所以不能使用EOF常量判断文件是否到达文件末尾。

可以使用feof() 和 ferror() 函数帮助我们判断是否到达文件末尾。

例子

现介绍一个简单的例子,了解C语言 fgetc() 函数 的使用方法。

先准备一个文件yxjc123.txt 内容如下:

C语言文件函数fgetc()
yxjc123.com 介绍C语言文件函数的使用。
这是该文件的第3行内容。
这是该文件的第4行内容。

这里结合 fopen(),fclose()、ferror()函数介绍该函数的使用:

#include <stdio.h>
#include<math.h>

int main( )
{

	FILE *file; //定义文件指针
	char c;
	file = fopen("d:/yxjc123.txt", "r");//打开文件
	if(NULL == file) {
		perror("打开文件失败");
		return -1;
	} 
	//判断是否达到文件末尾指针
	while ((c = fgetc(file)) != EOF) {  
		printf("%c", c);

	}
	
	puts("\n");
	//通过ferror判断是否读取出错
	if(ferror(file)){
	    puts("读取文件出错");
	}else{
	    puts("读取文件成功");
	}

        fclose(file); //关闭文件

	getchar();
	return 0;
 
}

输出:

C语言fgetc()函数:读取一个字符

中文乱码问题

需要将文件编码格式改为ANSI编码格式。