输入时的回车和EOF的关系

img

为什么输入任意字符串如fhicnoaee加ctrlz后并没有结束循环;而输入eponcwh加回车在加ctrl后结束了循环?
EOF和回车之间有什么关系吗?

EOF就是文件尾的意思,一般被编译器定义为-1
倒不是说文件自己会自动生成一个EOF标志,而是你在用函数读入文件数据的时候,函数总会返回一个状态,是读取成功还是失败,那么这个状态怎么表示呢,所以就约定俗成定义一个标识符表示这个状态,就有了EOF,BOF等等
EOF不是文件中有的。只不过是一个文件操作函数,在文件结尾操作时候返回的错误码。不要认为文件中含有EOF。
换行和回车是在文件中都有的,分别是/n和/r在UNIX和DOS中的文本中有不同的表达。
EOF在UNIX中输入是ctrl+d,在win中是ctrl+z。
也就是说,标准输入/输出在处理文本流时,若取不到字符,即返回错误码EOF,代表文件结束