“回车”(carriage return)和“换行”(line feed)这两个概念区别
Unix系统里,每行结尾只有“<换行>”,即“\n”;
Windows系统里面,每行结尾是“<换行><回车>”,即“\n\r”;
Mac系统里,每行结尾是“<回车>”。
一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;
而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。
c语言编程时(windows系统)
\r 就是return 回到 本行 行首 这就会把这一行以前的输出 覆盖掉
如:
cout<<"a"<<"\r"<<"b";
结果只显示 b 而 a 被覆盖了。
\n 是回车+换行 把光标 先移到 行首 然后换到下一行 也就是 下一行的行首
cout<<"a"<<"\n"<<"b";
结果显示:
a
b
宏定义
#define LF (char) '\n'
#define CR (char) '\r'
#define CRLF "\r\n"