windows与linux下的\r\n

  \n   为ASCII的0x0a   换行 
        \r   为ASCII的0x0d   回车 

        在windows   系统中,当你输入回车时会自动变成\r\n
        在linux下的回车键只代表\n
        而在windows下的回车键表示\r\n
        \n为进入下一行,\r为打印头回到行首上
        linux/unix下只用\n,它就表示回车+换行 
        而windows下,\r只回车不换行的,\n是换行,但在有些编辑中,单独的\n是不会换行的(如notepad) 

        一般在程序中,写\n就可以了,它在linux或windows中都能实现回车+换行的功能(只是在文本文件中,linux只会有0x0a,windows会自动换为0x0d   0x0a)

下面举个例子:

view plain
  1. #include<stdio.h>  
  2. int main()  
  3. {  
  4.     char a[10]="abc\r";  
  5.     printf(a);  
  6.     return 0;  
  7. }  

程序运行时没有任何输出。

原因就是 \r 回车 表示打印头回到该行起始位置,从而覆盖了abc,所以控制台上就没有任何输出啦!

你可能感兴趣的:(linux,windows)