深入解析Linux下\r\n的問題

來源:互聯網
上載者:User

常在Linux下操作,難免要遇到\r\n問題,特別在很多地方比如最近的郵件發送,怎麼都\r\n了,以前只有\n的時代好像已經過去了,因為我是一個比較喜歡總結的人,一個喜歡理論先行的人,所以,認真的測試並且理解了一番,儘管我個人認為是比較可以了,但,如果哪位高手看出了不妥之處,不吝賜教!
一、例子
源檔案:main.c
例一:
#include <stdio.h>
int main(void)
{
printf("dddddd"); //6個d
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作用一樣。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.