什麼是最無痛的方式輸入未轉義字符序列std::string
?用C定義的std :: string ++沒有轉義字符
代替
std::string st = "C:\\program files\\myFile.txt";
是這樣的:(不正常工作,由於轉義字符)。
std::string st = "C:\program files\myFile.txt";
什麼是最無痛的方式輸入未轉義字符序列std::string
?用C定義的std :: string ++沒有轉義字符
代替
std::string st = "C:\\program files\\myFile.txt";
是這樣的:(不正常工作,由於轉義字符)。
std::string st = "C:\program files\myFile.txt";
Ç& C++僅支持使用\逃避字符串,你必須使用它。如果你有一堆工作的路徑,我建議在編輯器中打開它們並用\\批量替換\。
供參考:閱讀juanchopanza的回答,原始字符串文字最終作出了幻影。 –
你可以用C++ 11 raw string literals做到這一點:
std::string st = R"(C:\program files\myFile.txt)";
太棒了。 LR爲寬字符。起初語法混淆了我,因爲字符串的開頭和結尾的分隔符是雙字符序列...「(...然後...)」 –
Ew此語法令人噁心。把()放在引號中是誰的好主意?而另一個版本R「分隔符()分隔符」更糟糕。 – Andrew
你是如何建設?你可以將內容存儲在'.txt'文件中,並添加一個'Makefile'規則將其轉換爲.'h'文件? –
@MikeSamuel,我正在使用Visual Studio。 –
downvoter可以解釋問題中的錯誤嗎? –