⑴ 路徑 //什麼意思
因為反單斜杠在C/C++/C# 中是轉義前導字元,例如 代表換行。為了避免歧義,路徑中的必須用//。
1、C程序釋義
(C程序相關書籍)
C語言是目前世界上最流行、使用最廣泛的面向過程的高級程序設計語言。 C語言對操作系統和系統使用程序以及需要對硬體進行操作的場合,用C語言明顯優於其它高級語言,許多大型應用軟體都是用C語言編寫的。
2、關於C語言中的轉義字元
所有的ASCII碼都可以使用轉義字元來表示,其中包括了常用的列印字元和一些具有特殊功能的非列印字元。
在C語言中,列印字元,如字母、數字、空格等字元,可以直接使用引號包含這些字元即可構成字元或字元串數據。
對於非列印字元,在引號中則必須使用轉移字元來進行表示。
3、基本形式
首先轉義字元和普通字元數據一樣,只能夠出現在單引號或者雙引號中。並且轉義字元都以開頭。
轉義字元有三種表示方式,分別是
1. 8進制加8進制數字
2. 16進制x加16進制數字
3. 特殊轉義字元加有特殊意義的符號
注意:轉義字元不存在10進制的書寫形式。
4、數字轉義
數字轉義字元只能使用8進制和16進制。
每個字元的轉義數值分別對應了其ASCII碼的值。
例如:
字元
轉義字元(8進制)
轉義字元(16進制)
『a』 『141』 『x61』
『+』 『53』 『x』
『0』 『60』 『x30』
所有的ASCII字元都可以使用這種方式進行表示。
在C語言中,如果想用ASCII碼值的10進制方式輸入字元。可以使用10進制整數直接給字元變數賦值,例如char a=97;同樣這種方式能夠輸入所有的ASCII字元,但是這種方式只能對單個字元變數進行賦值,並不能夠對整個字元串進行一次性賦值。
5、符號轉義
列印字元,可以使用字元本身和數字轉義兩種方式表示。
非列印字元,除了使用數字轉義的方式表示外,也有另一種表示方式,特殊符號轉義。
這種轉義方式由反斜杠和一個列印字元組成,用來表示一個非列印字元,常用相關的字元如下。
a 響鈴(BEL) 007 Alert
退格(BS) ,將當前位置移到前一列 008 Backspace
f 換頁(FF),將當前位置移到下頁開頭 012 form feed
換行(LF) ,將當前位置移到下一行開頭 010 line feed
回車(CR) ,將當前位置移到本行開頭 013 return
水平製表(HT) (跳到下一個TAB位置) 009 Tab
v 垂直製表(VT) 011 vertical tab
上面的字元中,需要特別注意三個字元。
v垂直製表符
在Windows控制台中,垂直製表符並不能夠在控制台中直接列印想要的製表效果,而是以一個特殊的字元來表示。
在Linux環境下,垂直製表符能夠正常的實現垂直製表的效果。
和
換行和回車
在日常的使用中,我們經常習慣性的將換行和回車等同起來。換行就是回車,回車就是換行。或者說,回車用來換行,這里的回車更多的是指鍵盤上的Enter鍵。
實際上,回車和換行是兩個不同的概念。
這個字元的產生和這個東西有關Teletype_Model_33
它們的由來網上是這么流傳的:
在計算機還沒有出現之前,有一種叫做電傳打字機(Teletype Model 33)的玩意,每秒鍾可以打10個字元。但是它有一個問題,就是打完一行換行的時候,要用去0.2秒,正好可以打兩個字元。要是在這0.2秒裡面,又有新的字元傳過來,那麼這個字元將丟失。
於是,研製人員想了個辦法解決這個問題,就是在每行後面加兩個表示結束的字元。一個叫做「回車」,告訴打字機把列印頭定位在左邊界;另一個叫做「換行」,告訴打字機把紙向下移一行。
這就是「換行」和「回車」的來歷,從它們的英語名字上也可以看出一二。
後來,計算機發明了,這兩個概念也就被般到了計算機上。那時,存儲器很貴,一些科學家認為在每行結尾加兩個字元太浪費了,加一個就可以。於是,就出現了分歧。
- Unix系統里,每行結尾只有「<換行>」,即「
」;
- Windows系統裡面,每行結尾是「<換行><回車>」,即「
」;
- Mac系統里,每行結尾是「<回車>」。
一個直接後果是,Unix/Mac系統下的文件在Windows里打開的話,所有文字會變成一行;而Windows里的文件在Unix/Mac下打開的話,在每行的結尾可能會多出一個^M符號。
從上面的文字中可以看出,實際上換行的功能本應該是由
共同來完成的,後來在計算機中不同的系統出現了不同的規定。
但是我們知道在C語言中,換行的操作使用的是
,但是上面的文字說在Windows下換行使用的是
。這是不是有矛盾呢。
實際上並沒有。
在Windows控制台下運行C語言,我們知道要換行時使用
便能完成操作。但是當要向文件輸出數據時,如果我們要實現換行,在代碼中我們仍然可以使用
來進行換行的操作。但是在文件實際的存儲數據中,換行使用的是
。
簡單說一下,在C語言中,如果
後輸出其他字元的話,之前在本行開頭輸出的字元將會被覆蓋。
另外,從理論上講,在Linux環境下v
組合也能夠用於換行,但是在實際應用中並不會這樣使用。
6、總結
所有轉義字元和意義總結如下表:
a 響鈴(BEL) 007
退格(BS) ,將當前位置移到前一列 008
f 換頁(FF),將當前位置移到下頁開頭 012
換行(LF) ,將當前位置移到下一行開頭 010
回車(CR) ,將當前位置移到本行開頭 013
水平製表(HT) (跳到下一個TAB位置) 009
v 垂直製表(VT) 011
代表一個反斜線字元』』 092
』 代表一個單引號(撇號)字元 039
」 代表一個雙引號字元 034
? 代表一個問號 063