项目跨平台开发碰到一个问题,输入的路径参数为\home\linshi\0,发现在linux环境下无法找到目标路径。
于是让编译器在linux环境下多加了一段代码
#if defined(__linux__)
std::replace(str.begin(), str.end(), '\', '/');
#endif
发现无法编译通过,原因是在linux环境下\为转义字符
转义符详解可以参考这篇博客
将'\'改为’\\‘就可以解决问题了
#if defined(__linux__)
std::replace(str.begin(), str.end(), '\\', '/');
#endif