深入Windows下的回车是回车换行(\r\n)还是换行回车(\n\r)的详解

时间:2021-07-18 20:31:43

记得在Windows下学X86汇编语言时,用0DH(\r)和0AH(\n)来输出回车(跳到下一行的开始处)。问题来了,在Windows下是先回车再换行呢还是先换行再回车呢?在Unix系统下换行只有\n,MAC OS下只有\r(网上是这么说的, 没用过Mac OS, 无从证实),都不会出现上述的问题。

现在新建一个文本文档,其内容如下:

深入Windows下的回车是回车换行(\r\n)还是换行回车(\n\r)的详解

现在用C语言二进制形式将其读入字符串(可以参考我的一篇文章:深入C语言把文件读入字符串以及将字符串写入文件的解决方法)并按十进制输出。结果如下

深入Windows下的回车是回车换行(\r\n)还是换行回车(\n\r)的详解

可以看出回车是13和10也就是\r\n,即先回车后换行。

下面我们看看将a和b之间的\r\n互换后会是什么效果:

深入Windows下的回车是回车换行(\r\n)还是换行回车(\n\r)的详解