首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >方法到文件结尾(EOF)在NetBeans控制台中不起作用

方法到文件结尾(EOF)在NetBeans控制台中不起作用
EN

Stack Overflow用户
提问于 2016-03-17 14:15:05
回答 1查看 2K关注 0票数 2

我一直在从K&Re2学习C语言。上面的代码是在Pg18(字母计数程序)中提到的,我运行该程序是为了进行确认。我试着输入几个字符,然后按ENTER键,但不起作用。然后,我听说了CTRL+ZCTRL+CCTRL+D,并使用ENTER作为文件结尾。我在NetBeans控制台中尝试过,但它不起作用。我也尝试过\0\n,遗憾的是它也不能工作。我已经搜索过了,但似乎都用CTRL+ZCTRL+CCTRL+DENTER方法解决了这个问题。我不明白这里有什么问题。PS:我使用Windows 7

很抱歉没有直接插入代码。这就是它-

代码语言:javascript
复制
#include <stdio.h>
#include <stdlib.h>

int main() {
    long c = 0;
    while (getchar() != EOF) {
        ++c;
    }
    printf("%ld", c);
    return 0;
}

在图像中,我还没有初始化long c的值。很抱歉。这个程序正在运行,但我用于EOF的方法不起作用。

编辑:我尝试过在NetBeans中编译,然后在cmd而不是NetBeans控制台中运行生成的.exe。CTRL+Z似乎起作用了!你们知道为什么它在NetBeans控制台上不能工作吗?

EN

回答 1

Stack Overflow用户

发布于 2016-03-17 14:47:13

在按enter键之前,getchar()会将字符存储在缓冲区中。在按下Enter键后,第一个字符将从缓冲区中取出,如果没有后续变量正在使用循环,它将一直循环到\r\n.so,您必须按enter key + ctrl+z才能到达EOF。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36052936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档