C 语言中的 EOF、getc() 和 feof()


EOF

EOF 代表 文件结束。函数 getc() 在成功时返回 EOF。

以下是在 C 语言 中使用 EOF 的示例:

假设我们有一个名为 "new.txt" 的文件,其内容如下。

This is demo!
This is demo!

现在,让我们看看这个例子。

示例

#include <stdio.h>
int main() {
   FILE *f = fopen("new.txt", "r");
   int c = getc(f);
   while (c != EOF) {
      putchar(c);
      c = getc(f);
   }
   fclose(f);
   getchar();
   return 0;
}

输出

This is demo!
This is demo!

在上述程序中,文件是使用 fopen() 打开的。当整数变量 c 不等于 EOF 时,它将读取文件。

FILE *f = fopen("new.txt", "r");
int c = getc(f);
while (c != EOF) {
   putchar(c);
   c = getc(f);
}

getc()

它从输入中读取单个字符并返回一个整数值。如果失败,则返回 EOF。

以下是 C 语言中 getc() 的语法:

int getc(FILE *stream);

以下是 C 语言中 getc() 的示例:

假设我们有一个名为 "new.txt" 的文件,其内容如下:

This is demo!
This is demo!

现在,让我们看看这个例子。

示例

#include <stdio.h>
int main() {
   FILE *f = fopen("new.txt", "r");
   int c = getc(f);
   while (c != EOF) {
      putchar(c);
      c = getc(f);
   }
   fclose(f);
   getchar();
   return 0;
}

输出

This is demo!
This is demo!

在上述程序中,文件是使用 fopen() 打开的。当整数变量 c 不等于 EOF 时,它将读取文件。函数 getc() 正在从文件中读取字符。

FILE *f = fopen("new.txt", "r");
int c = getc(f);
while (c != EOF) {
   putchar(c);
   c = getc(f);
}

feof()

函数 feof() 用于在 EOF 后检查文件结束。它测试文件结束指示符。如果成功,则返回非零值,否则返回零。

以下是 C 语言中 feof() 的语法:

int feof(FILE *stream)

以下是 C 语言中 feof() 的示例:

假设我们有一个名为 "new.txt" 的文件,其内容如下:

This is demo!
This is demo!

现在,让我们看看这个例子。

示例

#include <stdio.h>
int main() {
   FILE *f = fopen("new.txt", "r");
   int c = getc(f);
   while (c != EOF) {
      putchar(c);
      c = getc(f);
   }
   if (feof(f))
   printf("
Reached to the end of file."
);    else    printf("
Failure."
);    fclose(f);    getchar();    return 0; }

输出

This is demo!
This is demo!
Reached to the end of file.

在上述程序中,文件是使用 fopen() 打开的。当整数变量 c 不等于 EOF 时,它将读取文件。函数 feof() 再次检查指针是否已到达文件末尾。

FILE *f = fopen("new.txt", "r");
int c = getc(f);
while (c != EOF) {
   putchar(c);
   c = getc(f);
}
if (feof(f))
printf("
Reached to the end of file."); else printf("
Failure.");

更新时间: 2023年9月14日

25K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告