换行符CR,LF和CRLF

废话少说直接上表格
换行符英文全称ASCII编码符号ASCII编码值用途
CRCarriage Return\r 表示回车13MacIntosh操作系统(即早期的Mac操作系统)采用单个字符CR来进行换行
LFLinefeed\n 转义字符表示换行10Unix/Linux/Mac OS X操作系统采用单个字符LF来进行换行
CRLFCarriage Return & Linefeed\r\n 表示回车并换行NULLWindows操作系统采用两个字符来进行换行,即CRLF
闲谈

据野史记载,在很久以前的机械打字机时代,CR和LF分别具有不同的作用:LF会将打印纸张上移一行位置,但是保持当前打字的水平位置不变;CR则会将“Carriage”(打字机上的滚动托架)滚回到打印纸张的最左侧,但是保持当前打字的垂直位置不变,即还是在同一行。

当CR和LF组合使用时,则会将打印纸张上移一行,且下一个打字位置将回到该行的最左侧,也就是我们今天所理解的换行操作。

随着时间的推移,机械打字机渐渐地退出了历史舞台,当初的纸张变成了今天的显示器,打字机的按键也演变为了如今的键盘。在操作系统出现的年代,受限于内存和软盘空间的不足,一些操作系统的设计者决定采用单个字符来表示换行符,如Unix的LF、MacIntosh的CR。他们的意图都是为了进行换行操作,只是当初并没有一个国际标准(或者其他原因,鬼知道),所以才有这样字符上的不同。

结论

许多现代的文本编辑器和命令行工具都提供了可选择的换行符配置,方便用户按照自己的意愿来改变换行符的表现形式,所以我们只需要知道CRLF、CR、LF的作用即可。

当时没有搞清楚,再写C++期末大作业管理系统设计时吃了不少亏,现在放出来希望能对大家做一个提醒,(我当时烦的错误应该是文件读写时前后文本文件字符编码集读写前后出现了变化,导致windows的CRLF换行符和Unix对的换行符混用导致文件读写失败)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值