新年第一帖:有关\r和\n的区别

mcmay 2014-01-01 09:50:19
首先祝各位坛友新年快乐,万事如意!
我对转义字符当中的 '\r\'和 '\n'的差别不甚了了,请各位说说看,这二者差别何在?我在C语言的例子里多看到 '\n'而极少看到 '\r',而在Java的例子里却很多时候同时见到 '\n'和 '\r'。谢谢!
...全文
139 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
昵称很不好取 2014-01-01
  • 打赏
  • 举报
回复
引用 3 楼 mcmay 的回复:
[quote=引用 1 楼 thefirstz 的回复:] \r指return,光标会回到该行的最前面,\n指newline,光标会前进到下一行,但位置不一定是最前面,而是上一行光标所在的那个位置,对于以前的打印机,如果想从新一行开头重新打印,就需要这两个一起使用 现在不同的操作系统对两者的处理不同,有的只需要\n,有的需要两者合用
谢谢,thefirstz。光标不一定在最前面,那在哪里?没有一个固定的位置吗?如何验证这一点呢?[/quote] 比如上一行的光标在第40个字符处,\n会让光标还在下一行的第40字符处,不会回到第一个字符即行开始的地方
mcmay 2014-01-01
  • 打赏
  • 举报
回复
引用 1 楼 thefirstz 的回复:
\r指return,光标会回到该行的最前面,\n指newline,光标会前进到下一行,但位置不一定是最前面,而是上一行光标所在的那个位置,对于以前的打印机,如果想从新一行开头重新打印,就需要这两个一起使用 现在不同的操作系统对两者的处理不同,有的只需要\n,有的需要两者合用
谢谢,thefirstz。光标不一定在最前面,那在哪里?没有一个固定的位置吗?如何验证这一点呢?
liuzihe1979 2014-01-01
  • 打赏
  • 举报
回复
楼上正解,具体情况具体分析,C语言里有时也同时使用
昵称很不好取 2014-01-01
  • 打赏
  • 举报
回复
\r指return,光标会回到该行的最前面,\n指newline,光标会前进到下一行,但位置不一定是最前面,而是上一行光标所在的那个位置,对于以前的打印机,如果想从新一行开头重新打印,就需要这两个一起使用
现在不同的操作系统对两者的处理不同,有的只需要\n,有的需要两者合用
mcmay 2014-01-01
  • 打赏
  • 举报
回复
引用 6 楼 max_min_ 的回复:
\r 本行的行首! \n 换行!
版主正解!我是学了后面的,忘了前面的,该打!
ANGUD 2014-01-01
  • 打赏
  • 举报
回复
引用 6 楼 max_min_ 的回复:
\r 本行的行首! \n 换行!
版主高手一针见血
richyhuang 2014-01-01
  • 打赏
  • 举报
回复
控制符,还是看当前编译器的说明比较好
Pump天天学习 2014-01-01
  • 打赏
  • 举报
回复
引用 5 楼 mcmay 的回复:
[quote=引用 4 楼 thefirstz 的回复:] [quote=引用 3 楼 mcmay 的回复:] [quote=引用 1 楼 thefirstz 的回复:] \r指return,光标会回到该行的最前面,\n指newline,光标会前进到下一行,但位置不一定是最前面,而是上一行光标所在的那个位置,对于以前的打印机,如果想从新一行开头重新打印,就需要这两个一起使用 现在不同的操作系统对两者的处理不同,有的只需要\n,有的需要两者合用
谢谢,thefirstz。光标不一定在最前面,那在哪里?没有一个固定的位置吗?如何验证这一点呢?[/quote] 比如上一行的光标在第40个字符处,\n会让光标还在下一行的第40字符处,不会回到第一个字符即行开始的地方[/quote] 我试验了一下,好像光标还是去到了下一行的行首。
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  printf("This is a test of the escape sequence of \'\\n\'.\n");
  getch();
  //system("PAUSE");
  return 0;
}
[/quote] 现在不同的操作系统对两者的处理不同,有的只需要\n,有的需要两者合用
max_min_ 2014-01-01
  • 打赏
  • 举报
回复
\r 本行的行首! \n 换行!
mcmay 2014-01-01
  • 打赏
  • 举报
回复
引用 4 楼 thefirstz 的回复:
[quote=引用 3 楼 mcmay 的回复:] [quote=引用 1 楼 thefirstz 的回复:] \r指return,光标会回到该行的最前面,\n指newline,光标会前进到下一行,但位置不一定是最前面,而是上一行光标所在的那个位置,对于以前的打印机,如果想从新一行开头重新打印,就需要这两个一起使用 现在不同的操作系统对两者的处理不同,有的只需要\n,有的需要两者合用
谢谢,thefirstz。光标不一定在最前面,那在哪里?没有一个固定的位置吗?如何验证这一点呢?[/quote] 比如上一行的光标在第40个字符处,\n会让光标还在下一行的第40字符处,不会回到第一个字符即行开始的地方[/quote] 我试验了一下,好像光标还是去到了下一行的行首。
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  printf("This is a test of the escape sequence of \'\\n\'.\n");
  getch();
  //system("PAUSE");
  return 0;
}

69,373

社区成员

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

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