使用字符串作为打开文件路径时出现ifstream错误
ifstream error using string as opening file path
文件的路径this的"/home/Data/Homework 1/file.txt"
std::string x = "/home/Data/Homework 1/file.txt";
std::ifstream XX(x.c_str())
失败。
std::ifstream
如何在给定路径的情况下找到文件是特定于平台的,但在类Unix系统上,字符串应该简单地传递给open
。
您可以尝试调试对open
的直接调用(来自<fcntl.h>
),和/或在ifstream
构造函数返回后检查errno
(来自<cerrno>
)。
在任何情况下,问题几乎可以肯定要么是权限不足,要么是拼写错误。
您提供的文件路径可能不正确。请仔细检查。在典型的unix系统中,用户目录是基于计数的。也就是说,如果你的计数名称是Foo
,那么你的个人目录应该位于/home/Foo/Data//Homework 1/file.txt
而不是/home/Data//Homework 1/file.txt
。但这不是强制性的,所以您仍然可以将文件放在主目录下,这显然是一种糟糕的做法。
因此,请检查实际路径,也许还可以检查您是否有读取文件的权限。
相关文章:
- 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:即使更新了库路径,库也未加载错误
- 尝试使用堆栈简化目录路径时出现未解决的分段错误
- 运行 c++ 程序时搜索的路径错误
- Visual C++ 中的创建文件路径错误
- RegSetValueEx-路径错误,64位,以管理员身份运行
- 在 Mac 中加载动态库路径错误
- Libtool .la库文件路径错误
- 更新ndk后,eclipse中的包含路径错误