相对路径中的错误
Errors in relative path
所以这是一个简单的C++程序,用于读取文件并显示其内容。我的目录结构如下
项目目录|数据___| || 数据.txt|程序1.cpp
和程序:
#include <iostream>
#include <fstream>
using namespace std;
int main () {
char char1;
fstream data; // Because I wanna to write to this file later.
data.open("../Data/data.txt",ios::out | ios::in);
if (data.is_open()) {
for (int i = 0; !data.eof(); ++i) {
data.get(char1);
cout << char1 << endl;
}
data.close();
}
return 0;
}
所以目前我的程序运行良好...但是当我使用时:
data.open("Data/data.txt",ios::out | ios::in);
该程序不起作用。为什么会这样?理想情况下,上述代码段应该可以工作,因为 Data 文件夹与我的 cpp 文件位于同一目录中。
data.open("../Data/data.txt",ios::out | ios::in);
通过使用 2 个点,我们将返回一个目录,而 Data 文件夹不存在。
那么为什么程序使用 2 个点工作呢?
查看您的目录结构,我发现您的程序 1.cpp 和数据.txt都在同一个"数据"文件夹中。由于您已经在数据文件夹中,"数据/数据.txt"会查找另一个数据文件夹。在 UNIX 中,".." 表示以前的目录。因此,当您使用".."时,您会转到"项目目录",其中包含一个"数据"文件夹。这就是为什么data.open("../data/data.txt",ios::out |iOS::in(正在工作。您也可以尝试使用以下方法: data.open("data.txt",ios::out | ios::in);
相关文章:
- CMake 错误"源似乎不包含 CMakeLists.txt",路径/库连接问题
- VS Code C++:不准确的系统包括路径错误(wchar.h,boost/lambda/lambda.hpp)
- CMake 错误 - 目标 foo INTERFACE_SOURCES属性包含在源目录中以前缀为前缀的路径
- 不断收到错误消息,并非所有控制路径都返回值
- 在 Windows 10 下为 VTK 生成 Makefile 时,Qt mkspecs 的路径错误
- rpmbuild check-rpath 报告错误,指出路径不是绝对的,不正确的
- 错误 LNK1104:错误消息中显示的路径未在其他依赖项中定义
- 函数路径追加上未解决的外部符号错误
- 如何更改路径以修复错误"./main:加载共享库 libmkl_core.so 时出错?
- 找不到 windows.winmd – 如果指定了路径,错误会乘以
- 无法转换 .CATPart 文件.错误:输入文件路径似乎包含不支持的字符
- 在结构函数之间传递文件路径 C++ 编辑:修复LNK2019错误
- SFML: dyld:即使更新了库路径,库也未加载错误
- 尝试使用堆栈简化目录路径时出现未解决的分段错误
- 项目错误:无法解析'macosx'的 SDK 路径
- Xcode 8.3.2 中的错误警告:文件的非可移植路径 - 指定的路径与磁盘上的文件名不同
- C Windows-如何从其PID(错误)获取过程路径
- 创建进程使用路径时出现错误事件:类型 "char *" 的 E0167 参数与类型 "LPWSTR" 的参数不兼容
- 相对路径中的错误
- Qt & SqlLite - 错误的数据库路径