详细区分回车和换行的关系
来源:互联网 发布:万艾可用多少毫克 知乎 编辑:程序博客网 时间:2024/04/30 15:31
今天,我总算搞清楚“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别了。
在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。
于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在左边界;另一个叫做“换行”,告诉打字机把纸向下移一行。
这就是“换行”和“回车”的来历,从它们的英语名字上也可以看出一二。
后来,计算机发明了,这两个概念也就被般到了计算机上。那时,存储器很贵,一些科学家认为在每行结尾加两个字符太浪费了,加一个就可以。于是,就出现了分歧。
Unix系统里,每行结尾只有“<换行>”,即“\n”;Windows系统里面,每行结尾是“<换行><回车>”,即“\n\r”;Mac系统里,每行结尾是“<回车>”。一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。
c语言编程时(windows系统)
\r 就是return 回到 本行 行首 这就会把这一行以前的输出 覆盖掉
如:
int main() {
cout << "hahaha" << "\r" << "xixi" ;
}
最后只显示 xixi 而 hahaha 背覆盖了
\n 是回车+换行 把光标 先移到 行首 然后换到下一行 也就是 下一行的行首拉
int main() {
cout << "hahaha" << "\n" << "xixi" ;
}
则 显示
hahaha
xixi
在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。
于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在左边界;另一个叫做“换行”,告诉打字机把纸向下移一行。
这就是“换行”和“回车”的来历,从它们的英语名字上也可以看出一二。
后来,计算机发明了,这两个概念也就被般到了计算机上。那时,存储器很贵,一些科学家认为在每行结尾加两个字符太浪费了,加一个就可以。于是,就出现了分歧。
Unix系统里,每行结尾只有“<换行>”,即“\n”;Windows系统里面,每行结尾是“<换行><回车>”,即“\n\r”;Mac系统里,每行结尾是“<回车>”。一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。
c语言编程时(windows系统)
\r 就是return 回到 本行 行首 这就会把这一行以前的输出 覆盖掉
如:
int main() {
cout << "hahaha" << "\r" << "xixi" ;
}
最后只显示 xixi 而 hahaha 背覆盖了
\n 是回车+换行 把光标 先移到 行首 然后换到下一行 也就是 下一行的行首拉
int main() {
cout << "hahaha" << "\n" << "xixi" ;
}
则 显示
hahaha
xixi
0
上一篇:C语言内存(堆内存\栈内存)操作函数大全
下一篇:linux下信号深度解析
相关热门文章
- linux 常见服务端口
- xmanager 2.0 for linux配置
- 【ROOTFS搭建】busybox的httpd...
- openwrt中luci学习笔记
- 什么是shell
- linux dhcp peizhi roc
- 关于Unix文件的软链接
- 求教这个命令什么意思,我是新...
- sed -e "/grep/d" 是什么意思...
- 谁能够帮我解决LINUX 2.6 10...
给主人留下些什么吧!~~
chinaunix网友2010-06-14 23:04:18
总结起来也就是回车是靠左 换行是下一行,对吧?
回复 | 举报
评论热议
0 0
- 详细区分回车和换行的关系
- 换行符‘\n’和回车符‘\r’ 的关系
- 回车换行符和屏幕上换行行为间的关系说明
- 回车和换行的区别
- 回车和换行的区别
- 回车和换行的区别
- 回车和换行的区别
- 回车和换行的区别
- “换行”和“回车”的来历
- 回车和换行的区别
- “回车”和“换行”的区别
- 回车 和 换行 的区别
- 回车和换行的区别
- 回车和换行的区别
- 回车和换行的区别
- 回车和换行的区别
- 回车和换行的区别
- 回车和换行的区别
- unsigned int number = -1的输出
- 可以纵向横向滑动的表格实现
- NFS服务器和VSFTP服务器的配置
- C语言内存(堆内存\栈内存)操作函数大全
- I2C Bit-Bang 程序分析
- 详细区分回车和换行的关系
- linux下信号深度解析
- java实现冒泡排序
- OpenCV_(Fit Line with points)用直线拟合一组点
- linux下信号深度解析(续)
- 僵尸进程详细剖析
- sigaction函数详解
- 信号相关函数汇总
- Spring-Security入门(配合数据库设置权限,验证码功能)
原创粉丝点击
热门IT博客
热门问题
老师的惩罚
人脸识别
我在镇武司摸鱼那些年
重生之率土为王
我在大康的咸鱼生活
盘龙之生命进化
天生仙种
凡人之先天五行
春回大明朝
姑娘不必设防,我是瞎子
婴儿辅食添加顺序
宝宝辅食粥制作100款
宝宝添加辅食的顺序
辅食添加顺序及做法
添加辅食的原则
宝宝添加辅食的顺序及食物
婴儿辅食添加
婴儿辅食做法大全
婴儿添加辅食顺序表
宝宝加辅食的顺序
小孩辅食添加顺序
婴幼儿辅食食谱大全
辅食怎么添加
宝宝辅食添加顺序
幼儿辅食食谱大全
6个半月宝宝辅食食谱
5个月宝宝辅食添加顺序及做法
一岁宝宝辅食制作100款
宝宝辅食食谱大全
小孩辅食食谱
宝宝辅食大全及做法
婴幼儿辅食添加
7个月婴儿辅食
4个月婴儿辅食
6个月婴儿辅食
婴儿5个月辅食
婴儿辅食面条哪个牌子好
婴儿辅食怎么做
婴儿辅食猪肝
婴儿辅食胡萝卜汁
8个月婴儿辅食
9个月婴儿辅食
婴幼儿辅食制作
婴儿辅食米粉
婴儿辅食鳕鱼
5个月婴儿辅食
婴儿辅食饼干
辅食南瓜泥的做法
婴儿辅食土豆泥怎么做
婴幼儿辅食批发
8月大婴儿辅食