gpt4 book ai didi

c++ - 从 C++ 项目中引用数据文件

转载 作者:行者123 更新时间:2023-11-30 01:27:22 25 4
gpt4 key购买 nike

我有一个 C++ 项目,其文件夹结构如下所示:

root/trunk
root/trunk/src/...
root/trunk/include/...
root/trunk/utils/... <-- this has the `main` programs which are compiled
root/trunk/bin/... compiled binaries
root/data/... data used in the programs

在我的源文件中,我有时会引用包含在数据子文件夹中的文件。我希望我使用的路径是相对路径(因为我正在与其他人共享此项目)。

如何确保数据文件总能被找到?目前我使用如下路径:

std::string my_data("../../../data/path/to/file.txt");

但是,我发现很难使用它来确定相对路径的指向,并且在移动源文件时可能会造成困惑。是完成同一件事的更好方法吗?

最佳答案

您不应该对程序运行时的当前工作目录做出任何假设 - 使用更可靠的方法来确定数据文件的位置,这不依赖于将工作目录设置为任何内容尤其。通过将工作目录设置为与您的程序无关的某个位置来测试它,然后从那里运行它,例如

$ cd /tmp
$ /path/to/my/program/root/trunk/bin/my_program

看看它是否运行正常。

关于c++ - 从 C++ 项目中引用数据文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9068081/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com