首页 > 解决方案 > 无法打开 .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

还有什么问题?

标签: c++fstream

解决方案


我曾经在 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) 下运行您的程序。


推荐阅读