C 關於檔案檢索的原始碼轉譯技巧(R 方式)

2021-09-02 18:53:24 字數 1315 閱讀 2882

在c/c++編寫**的過程中,經常會用到檢索檔案路徑的時候, 首先要明確一點,由於「\」符號是c\c++的保留符號,因此直接貼上路徑字串在**中是不能使用的。例如下面的方法,是不能得到目標路徑字串的。

string s0 = "c:\users\administrator\desktop\rwtest\write.txt";

cout << s0.data() << endl;

按照上面的方式,在編譯階段就會報出一些warning,而且得到的結果輸出也不是預期的路徑字串,如下圖。

因此如上面的用法時, 編譯器會報出warning如下圖:

我們常用的方式是,利用「\\」就可以得到預期中的路徑層級符號了,如下面**:

string s = "c:\\users\\administrator\\desktop\\rwtest\\write.txt";

cout << s.data() << endl;

得到的輸出結果與預期相同:

但是如果頻繁用到路徑檢索的時候,「\\」需要手動新增十分麻煩,這裡介紹一種c++的新特性——原始碼轉譯。

就是指按照字面原始碼進行編譯,不再區分是否為c\c++保留的符號,使用方法如下:

string s1 = r"(c:\users\administrator\desktop\rwtest\write.txt)";

cout << s1.data() << endl;

由此得到的輸出與使用「\\」是一致的,對比實驗如下圖所示:

檢索原始碼 刪除無用Properties的小工具

背景 重新做專案的過程中,引用了大量舊 尤其是properties檔案,裡面肯定有一批是無用的,乾脆笨辦法直接掃瞄原始碼檔案來過濾。後續在此基礎上修改修改,再做個掃瞄無用image檔案的類。如下 1 public class propertiescleaner 1920 public void ru...

關於hive RegexSerDe的原始碼分析

最近有個業務建表使用了 regexserde,之前雖然也它來解析nginx日誌,但是沒有做深入的了解。這次看了下其實現方式。建表語句 17create external table ods cart log time local string,request json string,trace id...

C 壓縮與解壓檔案原始碼

獲得壓縮的資料夾 壓縮資料夾的名字 string name file rar 壓縮檔案的流物件 messagebox.show name zipoutputstream output new zipoutputstream file.create name output.setlevel 6 str...