码迷,mamicode.com
首页 > 其他好文 > 详细

\r \n 与转义字符

时间:2015-05-22 19:13:37      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:c语言   转义字符   r   n   t   

c 语言里面字符用单引号括起来,并且单引号里面只能有一个字符,

例如 : ‘a‘ 、 ‘b‘ 分别表示字符a 和字符b


但是也有一类字符,它们虽然用单引号括起来,但是里面并不止一个字符,

例如: ‘\c‘、 ‘\d‘、 ‘\\‘  分别表示字符a、 字符b、 字符\

它们叫做转义字符,表示 “\” 后面的字符,在vs里面可以看到:技术分享

‘c‘ 和‘d‘ 前面的99 和 100 表示 ‘c‘ 和‘d‘ 的ascii码 ;


但是也有一些转义字符虽然形式和上面一些转义字符很很像,但是它们不在表示"\" 后面的字符,而是有别的含义:

例如:


\a
响铃(BEL)
007
\b
退格(BS) ,将当前位置移到前一列
008
\f
换页(FF),将当前位置移到下页开头
012
\n
换行(LF) ,将当前位置移到下一行开头
010
\r
回车(CR) ,将当前位置移到本行开头
013
\t
水平制表(HT) (跳到下一个TAB位置)
009
\v
垂直制表(VT)
011
\\
代表一个反斜线字符‘‘\‘
092
\‘
代表一个单引号(撇号)字符
039
\"
代表一个双引号字符
034
\0
空字符(NULL)
000
\ddd
1到3位八进制数所代表的任意字符
三位八进制
\xhh
1到2位十六进制所代表的任意字符
二位十六进制

在vs中可以看到:

技术分享


     ‘\a‘ 的值是7,为 不可打印字符 ’.‘ ,执行时会听到一声响铃, ‘\t‘是制表符向后偏移4个空格,结果如下:

技术分享


在第二种转义字符里面,要单独讲一下 ‘\r‘  和 ‘\n‘:

  ‘\r‘ 表示回车,  ‘\n‘表示换行  (回车和换行不是一个概念)

在打印的时候:

回车表示从当前行的行尾转到当前行的行首;

换行表示从当前转到下一行(如果是单独的换行,不一定转到下一行的行首)


Windows系统里面,每行结尾是“<回车><换行>”,即“ \r\n”;

Unix 系统里,每行结尾只有“<换行>”,即“\n”;

Mac系统里,每行结尾是“<回车>”, 即“\r”;

所以在不同的平台下打开同一个文件,可能会出现乱码的情况。




























\r \n 与转义字符

标签:c语言   转义字符   r   n   t   

原文地址:http://blog.csdn.net/chengzi_comm/article/details/45919087

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!