windows 控制台下 无法获取完整的回车键值

问题描述:

收集的网友分析:

http://bbs.csdn.net/topics/370084904

因为C语言和UNIX的开发者是同事……
C语言里统一用的\n表示另起一行。微软的DOS受到了当时8位系统主流OS CP/M的影响,使用\r\n表示另起一行。Mac用\r表示另起一行。
C标准库隐藏了平台的不一致性,所有标准输入输出(包括标准文件)操作时都会自动进行转换,保证语言内总是用\n。像getchar()、fscanf()、printf()等等都是这样的。
getch()并不是C标准库的函数,而是比较低级的控制台函数,所以不会进行转换。

你无法通过cin输入回车符(ASCII 13),因为C++标准库和C一样,通过键盘中断服务读取的\r\n会被自动转换为\n。

上一篇:图文:TF卡和SD卡的区别及什么是TF卡?什么是SD卡


下一篇:【二分图】ZJOI2007小Q的游戏