c语言中的EOF 文件结束符号
2012-09-17 22:25
507 查看
很多学习过或者正在使用c语言的同学其实都会忽略EOF 这个关键字,但其实真正读懂EOF关键字是非常有好处的。
在linux内核中 大量使用EOF,如果你不真正搞懂他 很多代码你是看不明白的。
下面我们来看一段代码
很多c语言的书上都会有这么一段代码
但其实很多人并未思考 getchar函数实际上是从文本流中读入下一个输入字符,
在这段代码中为什么要用int 的变量来获取他的返回值呢?
因为我们在声明变量c的时候 必须让它大到足以存放getchar 函数返回的任何值。这里之所以不把c声明成char类型,是因为他必须足够大,除了能存储任何可能的字符外,还要能存储文件结束符号 EOF
因此我们必须将c 声明成int类型。
另外 我们在linux下 想要输入EOF符号的唯一方法就是 ctrl+d 。一般来说 打印出来EOF的值可以看出来 是-1.
在linux内核中 大量使用EOF,如果你不真正搞懂他 很多代码你是看不明白的。
下面我们来看一段代码
#include<stdio.h> int main() { int c; c=getchar(); while((c=getchar()) !=EOF) { putchar(c); } }
很多c语言的书上都会有这么一段代码
但其实很多人并未思考 getchar函数实际上是从文本流中读入下一个输入字符,
在这段代码中为什么要用int 的变量来获取他的返回值呢?
因为我们在声明变量c的时候 必须让它大到足以存放getchar 函数返回的任何值。这里之所以不把c声明成char类型,是因为他必须足够大,除了能存储任何可能的字符外,还要能存储文件结束符号 EOF
因此我们必须将c 声明成int类型。
另外 我们在linux下 想要输入EOF符号的唯一方法就是 ctrl+d 。一般来说 打印出来EOF的值可以看出来 是-1.
相关文章推荐
- C语言学习10:结构体,结构体应用,联合用法,枚举,fopen函数使用,fseek,ftell的作用和文件结束符EOF,数组和文件交换数据,个人信息管理。
- c语言中getchar函数的用法,涉及EOF文件结束符的问题
- c语言中getchar函数的用法,涉及EOF文件结束符的问题
- c语言中getchar函数的用法,涉及EOF文件结束符的问题
- 文件结束符EOF
- 文件操作-标准I/O操作--文件结束标识EOF
- 判断文件结束有两种方法:EOF和feof()
- java OJ题目判断输入结束(与C语言的EOF结束等价)
- C语言中如何在命令行中输入EOF,即文本结束符
- 文件结束符eof的正确使用
- 安装caffe时“The remote end hung up unexpectedly fatal: 过早的文件结束符(EOF)”
- C语言中如何在命令行中输入EOF,即文本结束符
- C语言-EOF和feof()判断文件结尾的区别
- c语言文件中EOF和feof
- 关于EOF(文件结束符)问题的体会
- feof()和EOF的用法—— C语言中文件结尾的判断 (个人感觉写的挺深刻)
- C语言中的字符输入以及符号常量EOF
- C语言 文件结束标志
- C语言:从键盘输入一个字符串,以感叹号!作为结束标志,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件test中保存。
- C语言文件操作解析(五)之EOF解析