c++ - 无法打开 .txt 文件
问题描述
std::ifstream infile;
infile.open("example.txt");
if (!infile.is_open()) {
std::cout << "can't open" << std::endl;
}
我读到这个:无法打开文件流 c++并尝试使用完整路径infile.open("~/projects/example.txt");
.cpp
文本文件位于/文件所在的同一文件夹中.hpp
。
还有什么问题?
解决方案
我曾经在 Windows 上遇到过同样的问题。问题是实际的文件名是“example.txt.txt”,但窗口资源管理器(默认情况下)配置为隐藏文件扩展名。
一个简单的解决方案是使用 c++17 文件系统库。例如, current_path
将返回其名称所承诺的内容。或者编写一个简单的函数来列出当前路径内容(参见 cppreference 上的示例,https: //en.cppreference.com/w/cpp/experimental/fs/directory_iterator )。或者创建一个类似名称的文件,例如__example__.txt
,查看它的创建位置以及文件系统管理器报告的名称。
如果这是 Linux,请尝试在strace
( strace myprog myoptions
) 下运行您的程序。
推荐阅读
- angular - 是否有可能从特定 ID 获取数据,数据未显示
- java - .xml 无法打开,因为它不存在,但它确实存在于同一个包中
- r - 如何使用循环创建多个向量
- recursion - 记忆一个无效的递归函数
- java - netbeans 8.2 的 Python 插件
- javascript - 从节点 js 中的大型 json 文件中搜索特定对象
- android - 防止布局在android中调整大小
- javascript - 为什么我的组件使用 React.memo 重新渲染
- python - 当静音用户离开服务器并重新加入时,如何保持静音角色?
- swift - 某些 EXIF 元数据不会在 Swift 中更新