时间:2021-05-19
常在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作用一样。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
【问题】不同系统平台下的行分隔符、路径分隔符等常常不同。如复制代码代码如下:行分隔符在windows下是\r\n,在Linux下面是\n,在Mac下是\r路径分
有时候编写脚本时会出现类似标题列出的错误,这个问题大多数是因为你的脚本文件在windows下编辑过。windows下,每一行的结尾是\n\r,而在linux下文
Linux下模拟实现进度条在Linux系统下模拟进度条,首先需要了解一些简单基础知识:1、在Linux系统下,\r是回车符,\n是换行符,回车是行不变光标回到该
深入解析Linux下MySQL数据库的备份与还原1.备份[root@localhost~]#cd/var/lib/mysql(进入到MySQL库目录,根据自己的
先要明白Fscanf的工作原理Fscanf在遇到\n才结束遇到\r时就会把\r替换成0这就有个问题,要注意自己的文本换行符是什么,在Windows下就是\r\n