C++ 如何在另一个系统上启用文件路径
我使用以下路径初始化了几个文件:C++ 如何在另一个系统上启用文件路径,c++,image,file,filepath,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
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";
这不管用。我怎样才能纠正这个问题?非常感谢 Boost文件系统是最依赖路径的库之一。
Boost文件系统文档=> 使用原因:
- 一个现代C++接口,与C++标准库高度兼容。
- 操作系统之间的可移植性
示例代码:
#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;
}
不要使用绝对路径。使用相对路径。通常与可执行文件相关-查找
-rpath
和$ORIGIN
以及“当前工作目录”。可能重复:?
$ g++ ./test.cpp -o test -lboost_filesystem -lboost_system
$ ./test
/tmp/foo.txt