当前位置: 代码迷 >> C语言 >> EOF问题
  详细解决方案

EOF问题

热度:436   发布时间:2007-11-24 14:45:29.0
EOF问题
#include <stdio.h>
#include <conio.h>
int main(int argc, char *argv[])
{
        int  iChar;
        int  iBlink   =0;
        int  iTab     =0;
        int  iNewLine =0;
        
        while((iChar=getchar()) != EOF)
                {
                if(' ' == iChar)
                        iBlink++;
                if('\t' == iChar)
                        iTab++;
                if('\n' == iChar)
                        iNewLine++;               
                }
        printf("iBlink=%d\n",iBlink);
        printf("iTab=%d\n",iTab);
        printf("iNewLine=%d\n",iNewLine);
         
getch();
return 0;
}

这程序是计算所输入的空格,TAB,与新行的个数。
我用的是DEVC++,
我看了stdio.h    EOF定义为-1.
查看getchar()函娄说铵回车时结束输入状态
可是while(((iChar=getchar()) != EOF)这句语句按回车键时根本不退出输入状态。
想知道为什么
搜索更多相关的解决方案: EOF  

----------------解决方案--------------------------------------------------------
windows下面好像是ctrl+z表示EOF 手边没有编译器 没法试 好像是
----------------解决方案--------------------------------------------------------
回车是13啊
----------------解决方案--------------------------------------------------------
多谢ctrl+z的确可以退出循环。

iChar=getchar()) != EOF
可是改成
iChar=getchar())==EOF
一回成就退出循环了
----------------解决方案--------------------------------------------------------
不用EOF可以做到那个效果吗?
----------------解决方案--------------------------------------------------------
while((iChar=getchar()) != EOF)
/* 循环到文件结尾,win 命令行下 Ctrl + Z  */

回车怎么可能是文件结尾呢!

如果要回车退出循环的话,如下:
while((iChar = getchar()) != '\n')
----------------解决方案--------------------------------------------------------
在VC6.0里不行啊
----------------解决方案--------------------------------------------------------
iChar=getchar())==EOF
一回成就退出循环了

意思是输入EOF循环才进行````你按的回车``当不是EOF``循环当然要退出了啊`
----------------解决方案--------------------------------------------------------
ctrl+z是可以的   不过也可以用F6+Z退出的
----------------解决方案--------------------------------------------------------
可以按ESC推出啊
定义一个宏
#define ESC '\033'
----------------解决方案--------------------------------------------------------
  相关解决方案