转义字符\n与\r的区别

heronism 2009-07-27 02:04:51
看到有些代码中从下一行开头打印时用printf("\n\r"),大多数情况下直接用printf("\n"),不知道这两者区别何在?似乎有了\n就用不着再使用\n\r了,不知道是这样吗
...全文
473 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
wxdcxp 2009-07-28
  • 打赏
  • 举报
回复

#include <iostream>
using namespace std;
void main()
{
cout << "aa" << "\r" << "b";
cout << "cc" << "\n" << "d";
}结果为
bcc
d
\r 就是return 回到 本行 行首 这就会把这一行以前的输出 覆盖掉
\n 是回车+换行 把光标 先移到 行首 然后换到下一行 也就是 下一行的行首拉
DCMorgan 2009-07-28
  • 打赏
  • 举报
回复
\f\r 强制定位到 下一页 行首

\n\r 强制定位到 下一行 行首

使用 \r 更具通用性。
cprog 2009-07-28
  • 打赏
  • 举报
回复
\r表示回车,即光标回车当前行首;

\n表示换行,即光标移到下一行,不会到行首,只是在DOS等操作系统里会将\n自动转换成\r\n才回到下一行的行首。
heronism 2009-07-28
  • 打赏
  • 举报
回复
搞清楚了,在当前的C语言中,\n表示回车(开始下一行并移到行首,相当于回车+换行),\r表示回到当前行行首(回删除本行之前的输出),多谢各位!
nadoo 2009-07-27
  • 打赏
  • 举报
回复
我一般只使用 \n
adream99 2009-07-27
  • 打赏
  • 举报
回复
换行与回车
mvsqr2 2009-07-27
  • 打赏
  • 举报
回复
\n 换行符,光标将移动至下一行开头 ASCII=0X0A
\r 回车符,光标将移动至本行开头 ASCII=0X0D

billow_zhang 2009-07-27
  • 打赏
  • 举报
回复
'\r' 只是回车符号.它的编码为: 0x0d
'\n' 是新行符号. 它的编码为: 0x0a

在UNIX系统上的文本文件,每一行是以 '\n'为结尾的.
而对于Windows上的文本文件,则每一行是以 '\r\n' 结尾的.
rendao0563 2009-07-27
  • 打赏
  • 举报
回复
\r\n 吧。不同系统下换行符有差异。如果你用uestdio应该会碰到你打开某文件。他要求你转换。
mengjfu 2009-07-27
  • 打赏
  • 举报
回复
换行符‘\n’和回车符‘\r’

顾名思义,换行符就是另起一行,回车符就是回到一行的开头,所以我们平时编写文件的回车符应该确切来说叫做回车换行符

'\n' 10 换行(newline)
'\r' 13 回车(return)


也可以表示为'\x0a'和'\x0d'.(16进制)

在windows系统下,回车换行符号是"\r\n".但是在Linux等系统下是没有"\r"符号的。

在解析文本或其他格式的文件内容时,常常要碰到判定回车换行的地方,这个时候就要注意既要判定"\r\n"又要判定"\n"。

写程序时可能得到一行,将其进行trim掉'\r',这样能得到你所需要的string了。

stardust20 2009-07-27
  • 打赏
  • 举报
回复
看看13楼的解答
http://topic.csdn.net/u/20081106/16/7e94ed93-7261-4f8a-9b38-d9c213103d1d.html
fireyou 2009-07-27
  • 打赏
  • 举报
回复
一个回车,一个换行
lingyin55 2009-07-27
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20080421/18/89d3bcc6-5243-4a96-8069-500423a47c8a.html

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧