c语言中EOF的用法
展开全部
1、EOF是end of file的缩写,表示"文字流"(stream)的结尾。这里的"文字流",可以是文件(file),也可以是标准输入(stdin)。EOF不是特殊字符,而是一个定义在头文件stdio.h的常量,一般等于-1:#define EOF (-1)。除了表示文件结尾,EOF还可以表示标准输入的结尾。但是,标准输入与文件不一样,无法事先知道输入的长度,必须手动输入一个字符,表示到达EOF。
2、例程:
#include <stdio.h>
int main()
{
char c;
while((c = getchar()) != EOF){
putchar(c);
}
return 0;
}
说明:在Windows上按CTRL+Z键,表示EOF。
注意:EOF虽然是文件结束符,但并不是在任何情况下输入Ctrl+D(Windows下Ctrl+Z)都能够实现文件结束的功能,只有在下列的条件下,才作为文件结束符。
(1)遇到getcahr函数执行时,要输入第一个字符时就直接输入Ctrl+D,就可以跳出getchar(),去执行程序的其他部分;
(2)在前面输入的字符为换行符时,接着输入Ctrl+D;
(3)在前面有字符输入且不为换行符时,要连着输入两次Ctrl+D,这时第二次输入的Ctrl+D起到文件结束符的功能。
展开全部
EOF一般作为文件的结尾标记。其值是-1,也就是说在<stdio.h>如下定义#define EOF -1
-1对应着ctrl+Z,在有些系统也对应着f6键。
文件的结尾都有EOF,因此可以用如下程序显示一个文件的内容:
char c;
FILE *fp;
fp = fopen("filename.txt", "rt");
while((c=fgetc(fp)!=EOF)putchar(c);
也可以如下写:
while((c=fgetc(fp)!=-1)putchar(c);
.
-1对应着ctrl+Z,在有些系统也对应着f6键。
文件的结尾都有EOF,因此可以用如下程序显示一个文件的内容:
char c;
FILE *fp;
fp = fopen("filename.txt", "rt");
while((c=fgetc(fp)!=EOF)putchar(c);
也可以如下写:
while((c=fgetc(fp)!=-1)putchar(c);
.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
EOF其实是整数-1,用于从文件读取数据的时候表示已经超越文件末尾这种错误状态。如果IO操作的结果是EOF,一般就意味着这次IO是失败的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
EOF一般作为文件的结尾标记。其值是-1,
在C语言中的头文件stdio.h中定义如下:
/* End-of-file constant definition
*/
#define EOF (-1) /* End of file indicator */
意思是一个文件的结束标志,由系统自己识别添加,所以读取文件的时候判断读出来的是不是EOF就可以知道是不是到文档的末尾了
在C语言中的头文件stdio.h中定义如下:
/* End-of-file constant definition
*/
#define EOF (-1) /* End of file indicator */
意思是一个文件的结束标志,由系统自己识别添加,所以读取文件的时候判断读出来的是不是EOF就可以知道是不是到文档的末尾了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询