5

我有一个类似的 VS 模板

string mypath = "C:\\custom\\file.jpg";

我想用模板替换参数 $userpath$ 制作 C:\custom\ 部分。有什么办法可以避免使用双斜杠吗?

我想写的是:

string mypath = SOMETHING("C:\custom\file.jpg")

不会被 \c 和 \f 转义并形成有效路径。可能吗?

4

3 回答 3

7

对于路径,您应该能够使用单个斜杠作为分隔符:

std::string mypath = "c:/custom/file.jpg";
于 2013-06-25T18:12:59.580 回答
5

尝试原始字符串文字:

string mypath = R"(C:\custom\file.jpg)";
于 2013-06-25T17:52:04.030 回答
1

尝试使用双反斜杠字符,因为在 c++ 中,所有解析器和编译器都理解这一点。如果您的 VS 模板双反斜杠\\ 产生\单个反斜杠,请使用 4 个反斜杠正确\\\\产生双反斜杠\\

于 2013-06-25T18:12:03.197 回答