在windows文件定义中,换行符是\r\n,在linux中则是\n.
\r 中r是指 carriage return(回车);\n 是指linefeed(换行)。
windows的方式其实是兼容打印机的,也就是最早的换行方式。因为在打印机中,当打印完一行时,需要两个动作,一个是将“打印车”返回到起始位置,一个是将纸张前进到下一行。所以这个过程需要两个指令:回车(返回)(\r)和换行(进纸)(\n)。windows操作系统就是采用了这种方式。
而在linux中,只有\n,因为在linux的定义中,\n起始本身就包括了"\r\n"。
在编程中,C++标准规定,fstream对象在读取文件时,会将\r\n转换为\n,而在写入文件时,执行相反的过程。所以C++程序运行时,换行只是\n。