\r \n 與轉義字符

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”;

所以在不同的平臺下打開同一個文件,可能會出現亂碼的情況。




























發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章