问题描述:

 

收集的网友分析:

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。

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-05-25
  • 2021-09-21
  • 2022-12-23
  • 2021-11-22
猜你喜欢
  • 2022-12-23
  • 2021-10-07
  • 2021-11-21
  • 2022-01-20
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案