Linux下\r\n问题

2014-11-24 08:52:03 ? 作者: ? 浏览: 1

常在Linux下操作,难免要遇到\r\n问题,特别在很多地方比如最近的邮件发送,怎么都\r\n了,以前只有\n的时代好像已经过去了,因为我是一个比较喜欢总结的人,一个喜欢理论先行的人,所以,认真的测试并且理解了一番,尽管我个人认为是比较可以了,但,如果哪位高手看出了不妥之处,不吝赐教


大笑


一、例子


源文件:main.c


例一:


#include


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.如果你也觉得好,那就顶起来吧,顺便说个好,大笑


-->

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: