免费注册 查看新帖 |

Chinaunix

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

[C++] cin读取键盘输入时,回车键输入的是换行符,还是回车符呀? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-10-31 11:41 |只看该作者 |倒序浏览
cin读取键盘输入时,回车键输入的是换行符,还是回车符呀?
----------------------------
换行符的ascii码是10,回车符的ascii码是13,我不知
cin 输入时,回车键对应的是哪个字符,如何测试呢?
我也不会写代码测试,故发贴问。

论坛徽章:
0
2 [报告]
发表于 2009-10-31 12:40 |只看该作者
回车键对应的是“0D,0A”

论坛徽章:
0
3 [报告]
发表于 2009-10-31 12:49 |只看该作者
回车 = Carriage Return = CR = 0x0d (ASCII) = 13
换行 = Line Feed = LF = 0x0a (ASCII) = 10

自己想

论坛徽章:
0
4 [报告]
发表于 2009-10-31 17:07 |只看该作者
我不明白的是,
按下回车键,好象是 “回车+换行”,(先是回车,后是换行)
这样
char c = 0;
cin.get(c);//按回车键
时,c应该接收的是 “回车”呀,
但为何实际得到的却是“换行”符呢?

论坛徽章:
0
5 [报告]
发表于 2009-11-01 00:02 |只看该作者
Unix/Linux下每行结尾只有换行,也就是"\n"。Windows下,操作系统处理输入时会自动替换成回车+换行"\n\r"。Mac下每行最后是"\r"(回车)。C/C++规定是\n。
Windows下的C/C++库会对"\n"做处理,比如printf会修改"\n"。如果打开文件是以文本方式打开的话,或者输入输出流的时候,会根据操作系统的习惯,自动替换,你用的时候只看到"\n"。只有在以二进制方式打开文件,或者使用较为低级的取字符的函数时,才会有区别。

论坛徽章:
0
6 [报告]
发表于 2009-11-04 19:09 |只看该作者
新手学习中。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP