2014-01-09 91 views
1

我想將一個HTML字符串定義爲字符數組,但是在需要的地方添加轉義字符非常痛苦,這意味着我必須在字符串中每隔"轉義,等等。自動添加轉義字符

c#,你可以這樣做:

string x = @"\a\a\a\"; //@ adds the escape chars where needed 

有沒有辦法做到這一點?或者我應該自己添加轉義字符?

+0

你需要這個C或C++結束? – RedX

+0

@RedX for c而不是C++ – user1492051

+1

如果你必須在代碼中輸入如此多的HTML或其他東西,爲什麼不把它們全部放在一個單獨的文件中並將該文件編譯到你的程序中,例如作爲'常量無符號字符[]' – Brandin

回答

4

從C++ 11開始,此功能(ala c#verbatim字符串文字)可用。您可以使用原始字符串字面象下面這樣:

const char* s = R"(" " " \n \a)";  
    cout << s; 

打印:

" " " \n \a 

原始字符串R"(開始,以)"

+0

並沒有辦法,而不是手動在C? – user1492051

+1

下面的鏈接討論了關於C++ 11中的原始字符串,並且已經獲得了HTML示例.http://impactcore.blogspot.in/2011/03/c0x-raw-string-literals-simple-example.html –

+0

一個應該希望C在某些時候採用原始字符串文字... –