我有一个类似
的VS模板string mypath = "C:\\custom\\file.jpg";
我想使用模板替换参数$ userpath $创建C:\ custom \ part。有什么办法可以避免使用双斜杠吗?
我想写的是:
string mypath = SOMETHING("C:\custom\file.jpg")
不会使用\ c和\ f进行转义并形成有效路径。有可能吗?
答案 0 :(得分:6)
对于路径,您应该能够使用单个转发斜杠作为分隔符:
std::string mypath = "c:/custom/file.jpg";
答案 1 :(得分:3)
尝试原始字符串文字:
string mypath = R"(C:\custom\file.jpg)";
答案 2 :(得分:1)
尝试使用双反斜杠字符,因为在c ++中,所有解析器和编译器都能理解这一点。如果您的VS模板\\
doublebackslash产生\
单反斜杠,请使用4反斜杠\\\\
正确生成\\
双反斜杠。