深入解析Linux下\r\n的問題
更新時間:2013年05月27日 09:40:25 作者:
本篇文章是對Linux下\r\n的問題進行了詳細的分析介紹,需要的朋友參考下
常在Linux下操作,難免要遇到\r\n問題,特別在很多地方比如最近的郵件發(fā)送,怎么都\r\n了,以前只有\(zhòng)n的時代好像已經(jīng)過去了,因為我是一個比較喜歡總結(jié)的人,一個喜歡理論先行的人,所以,認真的測試并且理解了一番,盡管我個人認為是比較可以了,但,如果哪位高手看出了不妥之處,不吝賜教!
一、例子
源文件:main.c
例一:
#include <stdio.h>
int main(void)
{
printf("dddddd"); //6個d
printf("12345");
return 0;
}
結(jié)果:空
例二:
printf("dddddd\r");
printf("12345 ");
結(jié)果:空
例三:
printf("dddddd\n ");
printf("12345 ");
結(jié)果:dddddd
例四:
printf("dddddd\r");
printf("12345\n");
結(jié)果:12345d
例五:
printf("dddddd\r\n");
printf("12345\n");
結(jié)果:dddddd
12345
例六:
printf("dddddd\n \r ");
printf("12345\n");
結(jié)果:同五
例七:
printf("dddddd\n \r ");
printf("12345");
結(jié)果:dddddd
例八:
printf("dddddd\n");
printf("12345\r ");
結(jié)果:dddddd
例九:
printf("dddddd\n");
printf("12345\n\r ");
結(jié)果:同五
二、總結(jié):
根據(jù)上面九個簡單而清楚的例子,以及我個人的一些理解,我就做個總結(jié)吧:
1.回車換行符,是2個符。一個回車,一個換行。\r僅僅是回車,\n是換行。一個是控制屏幕或者從鍵盤的Enter鍵輸入。另一個是控制“打印機”!
2.回車 = 光標到達最左側(cè),換行 = 移到下一行。如果只回車,打印的東西會覆蓋同行以前的內(nèi)容,如果只換行,打印的東西會在下一行的先一個位置繼續(xù)。
3.\r實際是回到行首。\n如果下一行已經(jīng)有了一些內(nèi)容的話它會在那些內(nèi)容的后邊.因為一般情況下下一行是沒有數(shù)據(jù)的,很多時候\n也就成了\r\n作用一樣。
一、例子
源文件:main.c
例一:
#include <stdio.h>
int main(void)
{
printf("dddddd"); //6個d
printf("12345");
return 0;
}
結(jié)果:空
例二:
printf("dddddd\r");
printf("12345 ");
結(jié)果:空
例三:
printf("dddddd\n ");
printf("12345 ");
結(jié)果:dddddd
例四:
printf("dddddd\r");
printf("12345\n");
結(jié)果:12345d
例五:
printf("dddddd\r\n");
printf("12345\n");
結(jié)果:dddddd
12345
例六:
printf("dddddd\n \r ");
printf("12345\n");
結(jié)果:同五
例七:
printf("dddddd\n \r ");
printf("12345");
結(jié)果:dddddd
例八:
printf("dddddd\n");
printf("12345\r ");
結(jié)果:dddddd
例九:
printf("dddddd\n");
printf("12345\n\r ");
結(jié)果:同五
二、總結(jié):
根據(jù)上面九個簡單而清楚的例子,以及我個人的一些理解,我就做個總結(jié)吧:
1.回車換行符,是2個符。一個回車,一個換行。\r僅僅是回車,\n是換行。一個是控制屏幕或者從鍵盤的Enter鍵輸入。另一個是控制“打印機”!
2.回車 = 光標到達最左側(cè),換行 = 移到下一行。如果只回車,打印的東西會覆蓋同行以前的內(nèi)容,如果只換行,打印的東西會在下一行的先一個位置繼續(xù)。
3.\r實際是回到行首。\n如果下一行已經(jīng)有了一些內(nèi)容的話它會在那些內(nèi)容的后邊.因為一般情況下下一行是沒有數(shù)據(jù)的,很多時候\n也就成了\r\n作用一樣。
相關文章
c語言for、while和do-while循環(huán)之間的區(qū)別
大家好,本篇文章主要講的是c語言for、while和do-while循環(huán)之間的區(qū)別,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下2022-01-01