在嵌入式开发中,经常会涉及到用UART去打印一些运算中间层数据作为调试,或者是打印输出结果。为了处理数据的方便性,经常会涉及到数据的换行操作。那么在换行过程中\r和\r\n有什么区别呢?
在windows系统中:
'\r' 回车,回到当前行的行首,而不会换到下一行,如果接着输出的话,本行以前的内容会被逐一覆盖;
'\n' 换行,换到当前位置的下一行,而不会回到行首;
举个例子:
#include <stdio.h>
int main() //main need return int data
{
printf("line one.\r");
printf("line two.\r");
}
运行结果为: (line two覆盖了line one)
line two.
对比上述输出:
#include <stdio.h>
int main() //main need return int data
{
printf("line one.\r\n");
printf("line two.\r");
}
运行结果为:
line one.
line two.
附:
转义字符表: