回车换行

回车(英语:Carriage return),常缩写为CR,是指将定位设备重置到文本行首的控制字符或过程,用以把一设备的位置重设到一行字的头。

原本,回车这术语用于打字机的板手。若打字机的语言由左至右书写的语言.回车用于将承载装纸滚筒的机架(carriage)移到最右边,以便令印字位置对准一行的开头,同时顺便转动滚筒,换至下一行。第一个有动力的回车功能是是在1960年由Smith Corona加入电打字机中,此键一般会标示为carriage return或return。

换行,(英语:newline,Line break,end-of-line (EOL)),在计算机领域中是一种加在文字最后位置的特殊字符,在换行字符的下一个字符将会出现在下一行,实际上换行字符根据不同的硬件平台或操作系统平台会有不同的编码方式。

换行字符可以看作是行的结束符,也可以看作行之间的分隔符,这两种处理方式之间存在一些歧义。如果换行字符被当作分隔符,那么文件的最后一行就不需要再有换行字符。但是多数系统的做法是在最后一行的后面也加上一个换行字符,也就是把换行字符看作是行的结束符。这样的程序在处理末行没有换行字符的文件时,可能会存在问题。相反地,有的程序把换行符看作分隔符,就会把最末尾的换行字符看作是新行的开始,也就是多出了一个空行。

(以上内容来自维基百科,条目: 回车符,换行)

换行 (LF : line feed, NL:new line):

ASCII: 10,

C 语言中转义序列: \n

回车(CR :carriage return):

ASCII 码:13

C 语言中转义序列:\r

Windows 里一般行尾是 CRLF

Unix 文件的话,一般行尾是 LF

行尾的字符都可以通过编辑器进行修改。

C 语言中控制台输出例子:

1)

printf("abcdefghijk\r0123456\r+_*/\n");

输出:

+_*/456hijk

解释:

‘\r‘ 后面的输出从行头开始,把先前的输出覆盖了。

如果这里不是输出到控制台,而是把输出重定向到文件。

在 Windows 里用计事本打开,会看到 :abcdefghijk 0123456 +_*/

虽然这里看起来是 ‘\r‘ 没有起作用,但是实际上,在相应的位置(比如 ‘k‘ 后面 和 ‘6‘ 后面都是有一个 ‘\r‘ 字符的。只是人眼不可看而已。

可以在控制台 type 这个文件,就可以看到,结果和上面的控制台输出是一样的。

或者用一个文本编辑器(可以显示行尾这种特殊字符的)打开,,可以看到行尾是 CR。

2)

printf("abcdefghijk\n0123456\n+_*/\n");

输出:

abcdefghijk

0123456

+_*/

结果比较清楚,无需多解释。

回车换行

时间: 2024-08-04 18:09:43

回车换行的相关文章

回车换行问题

在早期的打印机时代,开始新的一行要占用两个字符的时间.如果到了一行的结尾处,你要快速回到新的一行的开头,需要打印针头在纸面上飞快地掠过,常常会在纸面上留下污点. 解决这个问题的办法就是,用两个字符:一个字符<Return>来移到第一列,另一个字符<Line feed>来新增一行. 计算机产生以后,存储较为昂贵,在如何解决回车换行这个老问题上,人们产生了不同的意见: UNIX人认为在到达一行的结尾时新增一行<Line feed> (LF) Mac人则认同<Retur

菜鸟教程之工具使用(八)——EGit禁止自动转换回车换行符

众所周知,Windows和Linux系统的回车换行是不一样的.想要进一步了解它们的可以阅读下面的介绍,不感兴趣的可以直接跳过. 产生背景 关于"回车"(carriage return)和"换行"(line feed)这两个概念的来历和区别.在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符.但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符.要是在这0.2秒里面,又有新的字符传过

\r\n 回车换行浅析

\r \012 10 x0a return \n \015 13 x0d newline Unix系统里,每行结尾只有“<换行>”,即“\n”: Windows系统里面,每行结尾是“<回车><换行>”,即“\r\n”:Mac系统里,每行结尾是“<回车>”. 一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行:而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号. 实验1:先生成一个换

回车换行的长度

* 1,js中回车换行的长度为1, 而java中计算的长度为2, db2中计算的长度也是2 两者不统一,如果输入的正好是边缘值,那前台通过了字数长度验证,但是后台插入到数据库时,会出错: 为了让js与java,db2统一,前台验证长度时 通过content.replace(/[\r\n]/g,"yy"),将回车换行随便让2个字符替换,这样前后台就统一了 *

C# 中的回车换行符

在 C# 中,我们用字符串 "\r\n" 表示回车换行符. string str = "第一行\r\n第二行"; 但是我们更推荐 Environment.NewLine(名称空间为 System),Environment 是类,NewLine 是字符串属性,用于获取当前环境中定义的回车换行符字符串. string str = "第一行" + Environment.NewLine + "第二行"; 在 Windows 环境中,

C++中回车换行(\n\r)和换行(\r)的区别

windows下的点一下回车,效果是:回车换行,就是\r\n unix系统下的回车一下就是一个\n 给出如下代码: [cpp] view plain copy print? #include <iostream> using namespace std; int main() { cout << "this is the first line\n"; cout << "this is the second line\r"; cou

【转载】 C++中回车换行(\n\r)和换行(\r)的区别

原文:http://blog.csdn.net/xiaofei2010/article/details/8458605 windows下的点一下回车,效果是:回车换行,就是\r\n unix系统下的回车一下就是一个\n 给出如下代码: #include <iostream> using namespace std; int main() { cout << "this is the first line\n"; cout << "this

关于报错“syntax error near unexpected token `”和回车换行

本来是很简单一个事情,转过来是因为打字机这事比较有趣-- http://blog.csdn.net/xyp84/archive/2009/08/11/4435899.aspx 摘要一下: 回车 换行 0D 0A <CR> <LF> Carriage Return Line Feed "/r" "/n" win32 0D 0D 0A unix 0D 0A ============淡定的分割线=============== 今天写了个shell脚

textarea去掉回车换行

转自CSDN: 1,把textarea内输入的内容中有回车换行的转成<br />传给后台, var content = $("#text").val().replace(/\n/g,"<br />"); 2,把请求下来的数据在显示到textarea中的时候把<br />的在统一转为换行显示 var news = $(data)[0].result.post[nowid], var content =news.content.rep

嵌入式基础_回车换行符

"回车""换行"符号基本含义 General 意义 符号 符号英文 控制字符 (意义) 回车 光标回到本行开头 \r return CR (Carriage Return) 换行 光标往下一行 \n newline LF (Line Feed) 不同操作系统的行结束符   Operate System 符号 意义 Windows \n\r 系统行结束符, 也就是使用Windows用户常说的回车换行 UNIX, Linux \n 系统行结束符, 即回车+换行 MAC