Marco Nie - filesystem https://blog.niekun.net/tag/filesystem/ boost库里使用path的指针问题 https://blog.niekun.net/archives/95.html 2019-02-21T14:03:00+08:00 近期在开发过程中遇到一个奇怪的问题,当我复制一个文件夹到新目录时候总是失败,查看日志发现是传递地址出错了。我是使用的是Boost的filesystem C++库处理文件,下面是代码片段,将path类型的地址放入一个指针,然后调用其他function:fs::path childDir = np; childDir += "/\\" + dir_itr->path().filename().string(); const char* c_childDir = childDir.string().c_str(); 我在本机实验是没有问题,但在他人电脑上提示directory error。我将path里的地址先存放到一个string里然后在转换为char*,发现问题解决了。我想可能的原因就是path不能直接使用其指针地址。下面是修改后的程序片段:string s_childDir = newDir; s_childDir += "/\\" + dir_itr->path().filename().string(); const char* c_childDir = s_childDir.c_str(); 以上就是关于boost库里使用path的指针问题的解决方法。