Windows文件层级用反斜杠\
表示,而Linux、Unix则使用斜杠/
。
同样的事物为什么有两种不同的表示方法?答:因为早期Windows的DOS是用/
表示参数,为了区分,就采用了反斜杠\
表示文件。如今的Window文件地址栏可以同时混用\
和/
,系统会将其转换成\
;但是不是所有的应用都支持这样的自动转换行为(cmd不行而powershell则可以)。
Linux从一开始就是用/
作为系统层级符号,使用-
和--
表示命令行参数。
操作系统我们容易获取到文件路径,通常可以在:
Linux、Unix下,复制即可粘贴到程序中使用,层级符号与编程语言一致。
Windows下所有文件路径将其复制都将会是转义字符\
,这在编程语言中是由特殊的含义的(转义)。
你可以选择以下方法,其中第三种需要编译器支持(C++11):
手动修改\
为/
重复这个转义字符\
变成\\
原生字符转义(R(“…”))
R处理就是高速编译器里面的都不是转义字符,编译器可以继续处理。