VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
12
返回列表 发新帖
楼主: sanlban

请问用getchar接受字符时,EOF是指哪些输入,谢谢!

[复制链接]

0

主题

63

帖子

43.00

积分

新手上路

Rank: 1

积分
43.00
发表于 2020-4-18 16:30:01 | 显示全部楼层
ctrl+z后按回车
回复

使用道具 举报

1

主题

7

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
 楼主| 发表于 2020-4-21 08:45:01 | 显示全部楼层
谢谢各位的热心帮助。。我知道问题出在哪里了。。

我之前一直是这样输入的:
"
di yi hang(回车)
di er hang(回车)
……
di n hang (ctrl+z)(回车)

"
这样是达不到终止输入的功能的。


最后一行文本输完后记得加上回车就可以了。
"
di yi hang(回车)
di er hang(回车)
……
di n hang (回车)
(ctrl+z)(回车)

"
/***********************************/

我还想问一下:按ctrl+Z是给程序传递了什么信息?没有最后那个回车为什么就不行?
对了,orangedj兄,ctrl+D 好像不可以。

再次谢谢!

回复

使用道具 举报

1

主题

7

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
 楼主| 发表于 2020-4-23 09:45:01 | 显示全部楼层
刚换到linux下试了.
原来linux下是用ctrl+D 来终止输入..
回复

使用道具 举报

2

主题

54

帖子

34.00

积分

新手上路

Rank: 1

积分
34.00
发表于 2020-4-25 13:45:01 | 显示全部楼层
ctrl+z
然后回车
回车的目的是清空input buffer缓存区,然键入的马上的就生效
回复

使用道具 举报

1

主题

7

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
 楼主| 发表于 2020-5-29 16:45:01 | 显示全部楼层
ctrl+z
然后回车
回车的目的是清空input buffer缓存区,然键入的马上的就生效
-----------------------------------------------------------
谢谢你的回答。我还是不明白。
我的疑问有:
1.ctrl+z(或者ctrl+D)给程序传递了什么信息?
2.ctrl+z之前,也就是最后一行输入的结尾处,没有加回车为什么就结束不了?
3.在linux下,用ctrl+D结束输入并不需要像DOS下那样输完ctrl+z还另加一个回车。示例:
"
di yi hang(回车)
di er hang(回车)
……
di n hang (回车)
(ctrl+D)(!!注意:ctrl+D后面没有加回车了)

"
这又是为什么?DOS下ctrl+z后面的那个回车是传递了什么信息?

谢谢大家的指点……
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-8-18 14:00:01 | 显示全部楼层
不同环境机器的EOF值不同..可以先打印EOF值出来看一看
#include <stdio.h>

int main(int argc, char *argv[])
{
  printf("%d",EOF);
  system("pause");
  return 0;
}
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-8-18 19:30:01 | 显示全部楼层
楼上的,这样子恐怕不行吧,我怎么打印出是-1?
回复

使用道具 举报

1

主题

10

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-8-18 20:15:01 | 显示全部楼层
ctrl+c
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表