假设Windows上有一个dos.txt文件, 那么, 它在文件中的换行标志是\r\n, 现在拷贝到linux下, 那好啊, 正如linus一样, linux这个倔强的家伙貌似在说: 别的我不管, 我遇到文件中的\n, 我就认为是换行, 至于其他的, 我只认为是正常的字符。 如此一来, \r就被当成了文件的正常部分, 也就是说, linux下的C程序不仅仅会读取到\n, 也会读取到它前面的\r.
实际上Windows上的文件是dos格式的, 而linux上的文件是unix格式的, 我们可以通过linux上的dos2unix和unix2dos来实现转化, 当然, 有的linux环境下, 需要用busybox dos2unix和busybox unix2dos.