正常的檔案流讀寫,之前只是傳入"檔案名.檔案后綴",現在嘗試將這個檔案名路徑傳入
跟著前人的經驗,貌似路徑中所有單斜杠的地方都需要再加上一個單斜杠
(原因是單斜杠在C/C++語言中是轉義符)
結果手滑忘了加,沒想到竟然編譯成功了?!


(封裝后的函式,萌新剛接觸OOP)
用同樣的方法檢查輸出,結果果然報錯了。

猜測:之前系統無法正常顯示漢字字符,與認知一模一樣要再加單斜杠,
調整系統后就可以正常顯示漢字字符,也是從這里起出了狀況。請問和這個有沒有關系?

總之這到底是怎么回事



uj5u.com熱心網友回復:
你仔細看下輸出,斜杠后面的字符都應該被轉義了uj5u.com熱心網友回復:
看書, 字串常量部分明確有說明在程式里面寫字串的時候,反斜杠的作用是轉義字符了,要想表達出字串里有反斜杠這個字符,就要用兩個反斜杠
注意:這里說的是,代碼當中的字符傳表示,也就是說,你人工從編輯器當中敲入的字串,里面的反斜杠都要寫成雙杠
但是,你從鍵盤讀入的字串不是, 讀入的直接放到變數里面了, 那個反斜杠就是字符,不用當轉義字符理解
也就是說,如果檔案是c:\abc.txt
如果你在代碼里面,寫到字串里面表示就要這樣: "c:\\abc.txt"
如果這個路徑是從程式執行后,根據提示,用戶從界面輸入的放到陣列里面的char filename[200]; 那么鍵盤輸入就是c:\abc.txt
注意區別, 代碼里面的字串都是有雙引號包含的, 后面的就是那個幾字符
雙引號括起來的都是雙杠, 不用雙引號的就是單杠,你可以這么記
對于檔案路徑來說,正斜杠和反斜杠都支持
實在搞不明白前面說的, 你就用正斜杠好啦。
無論在代碼里面是"c:/abc.txt"還是鍵盤輸入的c:/abc.txt都只要一個斜杠就可以咯
uj5u.com熱心網友回復:
終端是沒法輸入轉義的, 所以 敲 \ 即是 原始碼中的"\\" , 另外 路徑 盡量使用 正斜杠 '/' , 別用windows風格。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/133576.html
標籤:C++ 語言
上一篇:控制臺
