一:回车换行
符号 ASCLL码 意义
\r 13 回车CR
\n 10 换行NL
在ascii中,回车和换行是不同的字符。0x0A是回车,即光标移动到本行的最左面; 0x0D是换行,即光标
移动到下一行。
回车 \r :本义是光标重新回到本行开头,r的英文return,控制字符可以写成CR,即Carriage Return
换行 \n : 本义是光标往下一行(不一定到下一行行首),n的英文newline,控制字符可以写成LF,即
Line Feed
二:回车换行针对的系统
首先明白一点:文件结束符EOF和\r\n根本没有关系
1.windows下文件:
在文件结束前,windows自带的编辑器会自动添加\r\n
2.linux下文件:
在文件结束前,linux自带的编辑器会自动添加\n
对于回车换行针对不同的操作系统: windows下回车换行是 \r\n,unix下是\n,mac下是\r
* 文件的结束都是以EOF为终结。*
例如:
读取文件内容时de注意要素:
读取文件内容时,由于文件内容的尾部操作系统会自动添加一个\n,read读取的时候会把该字符一并读
取,所以在文件读取的时候会多读一个换行符(即情况三)。
windows换行是\r\n,十六进制数值是:0D0A。
LINUX换行是\n,十六进制数值是:0A
所以在linux保存的文件在windows上用记事本看的话会出现黑点,我们可以在LINUX下用命令把linux的
文件格式转换成win格式的。
unix2dos 是把linux文件格式转换成windows文件格式
dos2unix 是把windows格式转换成linux文件格式。
借鉴链接:http://blog.csdn.net/xiaofei2010/article/details/8458605
http://blog.csdn.net/wjcquking/article/details/6634504