我必须向我的大学教授发送一个 C++ 项目。
该项目使用 QWidget、C++ 类和两个用作“数据库”的 .txt 文件来存储我的信息。
当我打开项目时,QList 会自动填充存储在 .txt 文件中的数据。
问题是,如果我希望项目使用其中的数据,我必须将 .txt 文件放在构建目录中。
有一种方法可以将.txt 文件放到存储所有.cpp 和.h 文件的目录中吗?
我用来打开文件的代码是:
std::ifstream in("file.txt");
但这只打开位于构建目录中的文件。我想更改项目查找文件的路径。
谢谢
最佳答案
如果您不考虑重复问题中提到的手动路径规范,我建议您使用 QStandardPaths
,如下所示
auto dbFilePath = QStandardPaths::locate(QStandardPaths::AppDataLocation, "file.txt", QStandardPaths::LocateFile);
或/和QCoreApplication::applicationDirPath
。
使用其中之一或基于这两者编写一些逻辑来独立于当前工作目录定位文件。请注意,在这些情况下,您需要预安装文件,然后您可以将其作为资源与文件一起发送。
关于C++ 在另一个目录中打开 .txt 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44260891/