C语言的\r\n晕乎了好久了,今天算是整明白了,来写文章纪念一下,也防止其他初学C语言的同学们入坑。
C中定义了一些字母前加""来表示常见的那些不能显示的ASCII字符,称为转义字符
\r是表示回车(CR),ascii码值为13
注意回车和换行是不一样的
c语言编程时(windows系统)
\r 就是return 回到本行行首这就会把这一行以前的输出覆盖掉,但不会移动到下一行
\n表示将光标移动到下一行,但不会移动到行首。单独一个\r或\n都不是一般意义上的回车+换行,\r\n放在一起才是。通常在写程序的时候只要一个\n就可以了,这是因为编译器会自动将\n替换成\r\n。
有的时候使用单片机通过串口通信在串口助手上显示,程序里面加了\n,但是有时候在串口助手上先试试不换行,我觉得是因为window系统是\r\n才是真正的回车,因此在单片机程序中printf(“你好\r\n”),这样才能正常的在串口助手上换行显示。
有写的不对的地方希望大家指教,谢谢。