io函数的一个问题
char ch;
while(ch=getchar()!=EOF&&ch!= '\n '){
...
}
两个问题:1。EOF这个常量表示什么
2。读取输入需要输入回车后才执行,这样的话就要把那个回车算进去了,可是那个回车并不是真正的要输入的,怎么解决啊
[解决办法]
1,EOF是文件结束标志,自动加在文件结尾的.int eof(int handle)是个函数,检测文件指针是否已在尾部,handle 是已打开的文件句柄,返回1-文件结尾,0-不在结尾位置,-1 操作出错.
2,如果从键盘读入,回车后清空缓存即可.如果从文件读入,用EOF判断.
[解决办法]
#define EOF -1
#include <conio.h>
while((ch=getche())!=EOF&&ch!= '\n '){
...
}
[解决办法]
对于第二个问题,在程序里已经处理掉了,当ch != "\n "就已经不包含回车了。
[解决办法]
while(ch=getchar()!=EOF
{
getchar();
...
}
这样肯定不包含回车了吧
[解决办法]
EOF其实只是一个标志错误的宏
读文件时 ,读到文件末尾,再读就出错,返回就是这个东西
读io时,读到结束,也返回这个
windwos下两个ctrl + z 或 F6
linux ctrl +d
结束输入