免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2071 | 回复: 8
打印 上一主题 下一主题

[C] 请教一个关于向程序发送EOF的问题(C语言)(C语言程序设计DMR版) [复制链接]

论坛徽章:
3
CU大牛徽章
日期:2013-09-18 15:16:55CU大牛徽章
日期:2013-09-18 15:18:22CU大牛徽章
日期:2013-09-18 15:18:43
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-23 22:13 |只看该作者 |倒序浏览
今天在看C语言程序设计 DMR那本

  1. #include <stdio.h>
  2. main()
  3. {
  4.        long nc;
  5.       
  6.       nc = 0;
  7.       while (getchar() != EOF)
  8.      ++nc;
  9.      printf("%ld\n", nc);
  10. }
复制代码


现在这个程序在FREEBSD中运行后,我可以输入啊,可是我怎么样中止他然后看到他的NC的输出呢?我只知道用CTRL+Z 和D中止他可是这样似乎看不到NC的统计哦,书上说当遇到了终止返回EOF的时候程序会把这个统计打出来,可是怎么样发送这个EOF啊?

论坛徽章:
0
2 [报告]
发表于 2007-04-23 22:18 |只看该作者
>>DMR
应该是K&R

貌似应该是ctrl-D,每个系统下面的都不太一样,多试几个好了

论坛徽章:
0
3 [报告]
发表于 2007-04-23 22:18 |只看该作者

  1. gnap@osiris 3 tmp $ ./tmp
  2. abc
  3. 4
  4. gnap@osiris 4 tmp $ ./tmp
  5. 234 43423
  6. 4234
  7. 4324
  8. 234
  9. 24
  10. gnap@osiris 5 tmp $ ./tmp
  11. 2432
  12. 34123
  13. 4234342
  14. 423434124
  15. 29
  16. gnap@osiris 6 tmp $
复制代码

[ 本帖最后由 gnap 于 2007-4-23 22:21 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2007-04-23 22:21 |只看该作者
原帖由 converse 于 2007-4-23 22:18 发表
>>DMR
应该是K&R

貌似应该是ctrl-D,每个系统下面的都不太一样,多试几个好了


我猜医生是这样输入的:
$./tmp
abc<Ctrl-D>

论坛徽章:
0
5 [报告]
发表于 2007-04-23 22:30 |只看该作者
回车再 ctrl-d ...
汗, 竟然有 dmr版...期待bwk版

[ 本帖最后由 namei 于 2007-4-23 22:37 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2007-04-23 22:39 |只看该作者
在下Linux也是一样,对于行缓冲的IO,如果想在一行的结尾,前面有字符时输入EOF的话,需要按两次Ctrl-D。

论坛徽章:
3
CU大牛徽章
日期:2013-09-18 15:16:55CU大牛徽章
日期:2013-09-18 15:18:22CU大牛徽章
日期:2013-09-18 15:18:43
7 [报告]
发表于 2007-04-24 09:34 |只看该作者
不是呢

我cc 之后.再./a.out的
然后我就可以输入字符了,输入之后回车再接着输入,可是似乎没有统计我输入了多少啊,呵呵

论坛徽章:
3
CU大牛徽章
日期:2013-09-18 15:16:55CU大牛徽章
日期:2013-09-18 15:18:22CU大牛徽章
日期:2013-09-18 15:18:43
8 [报告]
发表于 2007-04-24 09:36 |只看该作者
原帖由 namei 于 2007-4-23 22:30 发表
回车再 ctrl-d ...
汗, 竟然有 dmr版...期待bwk版

我说的是其中一个作者Dennis M.Ritchie

医生是简写法见笑了

论坛徽章:
3
CU大牛徽章
日期:2013-09-18 15:16:55CU大牛徽章
日期:2013-09-18 15:18:22CU大牛徽章
日期:2013-09-18 15:18:43
9 [报告]
发表于 2007-04-24 09:57 |只看该作者
问题找到了,哈哈,原来发送了ctrl+D之后在输入的后面就会有统计的,是我粗心了,我为我的粗心道歉

不过似乎最后的统计把回车也包括进去了,是不是这样啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP