如何在另一个系统上启用文件路径

时间:2018-04-06 15:20:45

标签: c++ image file filepath

我使用这样的路径初始化了几个文件:

  String filePath = "/Users/user1/Documents/UWE/Year_3/SDA/GDA GUI Test/Program_Files/modelgraphic1.png";

它们显示图像,在另一台计算机上运行时,图像不会显示。我记得过去做过这样的事情:

  String filePath = "/.../.../.../.../.../.../GDA GUI Test/Program_Files/modelgraphic1.png";

这不起作用。我怎么能纠正这个?非常感谢。

1 个答案:

答案 0 :(得分:1)

Boost Filesystem是路径上最依赖的库之一 Boost Filesystem Docs => https://www.boost.org/doc/libs/1_66_0/libs/filesystem/doc/index.htm

使用原因:

  • 现代C ++接口,与C ++标准库高度兼容。
  • 操作系统之间的可移植性。
  • 通过C ++异常(默认)或错误代码进行错误处理和报告。

原始答案=> https://stackoverflow.com/a/6297807/2303176
示例代码:

#include <iostream>
#include <boost/filesystem.hpp>

namespace fs = boost::filesystem;

int main ()
{
    fs::path dir ("/tmp");
    fs::path file ("foo.txt");
    fs::path full_path = dir / file;
    std::cout << full_path << std::endl;
}

然后运行它 -

$ g++ ./test.cpp -o test -lboost_filesystem -lboost_system
$ ./test 
/tmp/foo.txt