如何在C ++字符串中转义分号

时间:2010-05-29 08:08:17

标签: c++ visual-studio-2005

std:string str("text1\; text2\;");

为什么VS2005会说; unrecognized character escape sequence.

请指教,谢谢。

4 个答案:

答案 0 :(得分:13)

因为这是错误的:

std:string str("text1\; text2\;");

这是正确的:

std::string str("text1; text2;");

标准后的两个冒号

答案 1 :(得分:5)

无需转义分号

答案 2 :(得分:3)

只要把分号放在没有反斜杠的地方:

std::string str("text1; text2;");

答案 3 :(得分:3)

分号在C字符串中具有绝对 no 的意义;他们只是普通角色。如果你需要在字符串中加一个反斜杠,因为后来需要它,那就是前面需要反斜杠的反斜杠。

std::string str("text1\\; text2\\;");

那是因为\;不是C ++中公认的转义序列;当你把它放进去时,编译器正确地想知道你在说什么。