传递包含路径的char*

Ido*_*dov 4 c++ windows string path


我试图通过一个带有路径的字符串传递几个函数但是我在路径中放入的每个'\\'在内部函数中变成一个'\',我不能这样使用它.
有没有办法在输入新功能时保留"\\"?
我在Windows上使用C++.
谢谢 :)

ice*_*ime 13

准备好一些混淆的答案.

\是转义字符(\n例如,您可能已经遇到了转义序列),并且\\是表示单个\字符的转义序列(在某种意义上,它可以理解为转义字符的转义).如果你真的想要\\在你的字符串中,你将不得不使用\\\\:

std::cout << "\\\\something\\" << std::endl; /* prints "\\something\" */
Run Code Online (Sandbox Code Playgroud)

只是提供另一个例子,假设你想要一些"字符串.写作 :

const char *str = "Hello "World"";
Run Code Online (Sandbox Code Playgroud)

显然不会编译,你将不得不逃离"\:

const char *str = "Hello \"World\"";
Run Code Online (Sandbox Code Playgroud)

  • +1,虽然,"显然不会编译",除非有人#defines World,然后它不再那么明显了. (2认同)