21xrx.com
2024-09-17 04:13:02 Tuesday
登录
文章检索 我的文章 写文章
C语言中如何判断读取文件是否到达末尾
2023-06-15 20:25:09 深夜i     --     --
C语言 文件末尾 feof函数 fgetc函数 fread函数

在使用C语言读取文件时,经常需要判断是否已经到达了文件的末尾。这是一个非常重要的问题,因为如果读取文件时没有正确判断是否到达了文件末尾,可能会导致程序崩溃或者读取无效的数据。那么,在C语言中如何判断是否到达了文件末尾呢?

下面就是几种判断文件末尾的方法:

1.使用feof函数

feof函数可以用来判断文件指针是否已经达到了文件末尾。代码示例如下:


FILE *fp;

int ch;

fp = fopen("file.txt", "r");

while(!feof(fp))

{

  ch = fgetc(fp);

  printf("%c", ch);

}

fclose(fp);

其中,feof函数的返回值为非零值表示已经到达了文件末尾,否则返回0。

2.使用fgetc函数

fgetc函数可以用来读取文件中的一个字符,如果读取到文件末尾,则返回EOF。代码示例如下:


FILE *fp;

int ch;

fp = fopen("file.txt", "r");

while((ch = fgetc(fp)) != EOF)

{

  printf("%c", ch);

}

fclose(fp);

其中,EOF为C语言中定义的常量,表示已经到达了文件末尾。

3.使用fread函数

fread函数可以用来读取文件中的一段数据,如果读取到文件末尾,则返回小于要求读取的字节数的值。代码示例如下:


FILE *fp;

char buf[1024];

int nread;

fp = fopen("file.txt", "r");

while((nread = fread(buf, 1, sizeof(buf), fp)) > 0)

{

  printf("%s", buf);

}

fclose(fp);

其中,fread函数的返回值为实际读取到的字节数,如果为0则表示已经到达了文件末尾。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复
    相似文章