EOF : End of file 的意思,代表 "结束输入"
可以输入stty -a 把终端预设的按键显示出来,也可以用stty修改,具体man;
下面是kernel中的一段原文,希望对你有作用。他的while的结束判断就是EOF。
eof后返回while语句一个0值?然后导致你的程序退出while循环,所以while还是有一个判断的,也就是1,0的bool判断;enter在linux的bash下只是一个换行符,所以会一直执行下去。
#include
#include
_syscall1(int,addtotal,int, num)
main()
{
int i,j;
do
printf("Please input a number\n");
while(scanf("%d",&i)==EOF);
if((j=addtotal(i))==-1)
printf("Error occurred in syscall-addtotal();\n");
printf("Total from 0 to %d is %d \n",i,j);
}
---------------
下面是zlib的函数库原码,相反对于你的那本C++ Primer 3rd Edtion 对于新手,这种省略的语句写法,对于新手实在不是什么好的风格啊
新手怎么知道这个语句以eof结束,eof又是返回1和0呢?如果是3,4,系统默认不变的话就跳不出了,呵呵。
#include
#include
#include
void main(int argc,char **argv)
{
gzFile zip;
int c;
if (argc<2) return;
zip = gzopen(argv[1],"rb");
while ((c=gzgetc(zip))!=EOF) putchar(c);
gzclose(zip);
}
------------
还是个人想法啊,学习c++语法常辩证,会提高不少语法的精确度啊,呵呵