Linux下\r\n問題

    常在Linux下操作,難免要遇到\r\n問題,特別在很多地方比如最近的郵件發送,怎麼都\r\n了,以前只有\n的時代好像已經過去了,因爲我是一個比較喜歡總結的人,一個喜歡理論先行的人,所以,認真的測試並且理解了一番,儘管我個人認爲是比較可以了,但,如果哪位高手看出了不妥之處,不吝賜教!大笑

 

一、例子

源文件:main.c

例一:

#include <stdio.h>

int main(void)

{

       printf("dddddd"); //6d

       printf("12345");

       return 0;

}

結果:空

 

例二:

       printf("dddddd\r");

       printf("12345 ");

結果:空

 

例三:

       printf("dddddd\n ");

       printf("12345 ");

結果:dddddd

 

例四:

       printf("dddddd\r");

       printf("12345\n");

結果:12345d

 

例五:

       printf("dddddd\r\n");

       printf("12345\n");

結果:dddddd

             12345

 

例六:

       printf("dddddd\n \r ");

       printf("12345\n");

結果:同五

 

例七:

       printf("dddddd\n \r ");

       printf("12345");

結果:dddddd

 

例八:

       printf("dddddd\n");

       printf("12345\r ");

結果:dddddd

 

例九:

       printf("dddddd\n");

       printf("12345\n\r ");

結果:同五

 

二、總結:

    根據上面九個簡單而清楚的例子,以及我個人的一些理解,我就做個總結吧:

    1.回車換行符,是2個符。一個回車,一個換行。\r僅僅是回車,\n是換行。一個是控制屏幕或者從鍵盤的Enter鍵輸入。另一個是控制打印機

    2.回車 = 光標到達最左側,換行 = 移到下一行。如果只回車,打印的東西會覆蓋同行以前的內容,如果只換行,打印的東西會在下一行的先一個位置繼續。

    3.\r實際是回到行首。\n如果下一行已經有了一些內容的話它會在那些內容的後邊.因爲一般情況下下一行是沒有數據的,很多時候\n也就成了\r\n作用一樣。

    4.如果你也覺得好,那就頂起來吧,順便說個好,大笑

 

發佈了68 篇原創文章 · 獲贊 89 · 訪問量 53萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章