常在Linux下操作,难免要遇到rn问题,特别在很多地方比如最近的邮件发送,怎么都\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作用一样。
深入解析Linux下\r\n的问题
2020-12-08 15:21C语言教程网 C/C++
本篇文章是对Linux下\r\n的问题进行了详细的分析介绍,需要的朋友参考下
延伸 · 阅读
- 2022-06-28vscode远程免密登入Linux服务器的配置方法
- 2022-06-27Linux 5.20将支持XFS的异步缓冲写入和IO_uring以获得
- 2022-06-24用 Curtail GUI 应用轻松压缩 Linux 中的图像
- 2022-06-21Linus Torvalds发布Linux 5.19-rc3内核
- 2022-04-27Linux进程调度:我太难了!
- 2022-04-26我发现 Linux 文档写错了,你发现了吗?
- C/C++
C语言实现双人五子棋游戏
这篇文章主要为大家详细介绍了C语言实现双人五子棋游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...
- C/C++
关于C语言中E-R图的详解
今天小编就为大家分享一篇关于关于C语言中E-R图的详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看...
- C/C++
深入C++拷贝构造函数的总结详解
本篇文章是对C++中拷贝构造函数进行了总结与介绍。需要的朋友参考下...
- C/C++
使用C++制作简单的web服务器(续)
本文承接上文《使用C++制作简单的web服务器》,把web服务器做的功能稍微强大些,主要增加的功能是从文件中读取网页并返回给客户端,而不是把网页代码...
- C/C++
OpenCV实现拼接图像的简单方法
这篇文章主要为大家详细介绍了OpenCV实现拼接图像的简单方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...
- C/C++
c/c++内存分配大小实例讲解
在本篇文章里小编给大家整理了一篇关于c/c++内存分配大小实例讲解内容,有需要的朋友们可以跟着学习参考下。...
- C/C++
c/c++实现获取域名的IP地址
本文给大家汇总介绍了使用c/c++实现获取域名的IP地址的几种方法以及这些方法的核心函数gethostbyname的详细用法,非常的实用,有需要的小伙伴可以参考下...
- C/C++
C语言main函数的三种形式实例详解
这篇文章主要介绍了 C语言main函数的三种形式实例详解的相关资料,需要的朋友可以参考下...