使用 fstream c++ 的相对路径
Relative path with fstream c++
我尝试用fstream加载文件。代码如下所示
file.open("../levels/level0.lvl");
if (file.is_open()) {
while (!file.eof()) {
std::getline(file, Str);
list = ReadLine(Str, list);
}
}
但它什么也没加载。是,仅当路径是绝对的。如何使路径相对?
文件夹"levels"托管在调试文件夹中。 与 EXE 相同的文件夹。
"文件夹"levels"托管在调试文件夹中。与 exe 相同的文件夹。
levels
文件夹相对于可执行文件路径的位置无关紧要。
用于确定相对路径的相关文件夹是实际启动可执行文件的工作目录。
请参阅此处:fstream 也不会解析路径。
路径处理是特定于操作系统的。处理此问题的正确方法是添加一种用户指定应用程序路径的方法,然后使用该路径。例如,您可以添加命令行选项 --level-file=<path>
。然后,程序可以从该选项读取路径并将其传递给 fstream 构造函数。
请参阅我对此问题的回答以获取更多信息:https://stackoverflow.com/a/40980510/2345997
相关文章:
- Windows 和 Linux 之间的相对路径分辨率差异?
- 如何获取 CMake 单元测试的相对路径?
- 从另一个应用启动我的应用时出现相对路径更改问题
- CMake 链接 2 个具有相对路径的库
- cmake find_package CMakeLists.txt 子文件夹中的相对路径
- 在可执行文件中使用带有符号链接的相对路径
- C++流找不到相对路径
- 如何将COM .tlb文件导入具有相对路径C++文件中?
- C++包括断开的相对路径
- CMake 安装具有相对路径的目标
- CMake为什么通过相对路径链接外部库
- Boost Filesystem flowly_caronical不会在没有父文件夹的情况下解决相对路径
- 如何将共享库与具有相对路径的 CMake 链接
- 相对路径中的错误
- C 能够以其完整路径打开代码::块中的文件,但不能以相对路径作为命令行参数打开文件
- 如何在基于QT的Autodesk Maya插件中使用相对路径
- 如何使用QT程序中的默认应用程序打开使用相对路径的PDF
- Visual Studio单元使用具有相对路径的文件测试
- 在 Visual Studio 中为 SFML 设置相对路径
- 如何配置MSVC以使用__FILE__显示头文件的相对路径