我正在尝试使用ifstream在c ++中打开一个文本文件,但即使该文件与.cpp文件位于同一目录中,也无法找到该文件:
#include <fstream>
std::ifstream textInput("words.txt");
if (!textInput) {
return false;
我已经三次检查,文件肯定存在并且命名正确。我不确定我是否在ifstream或路径上做错了。
编辑:我把文件放在visual studio的当前工作目录中,它将文件相对路径显示为“words.txt”,但它仍然无法找到该文件。答案 0 :(得分:1)
使用以下命令查找应用程序的运行位置(所谓的“当前工作目录”):
TCHAR NPath[MAX_PATH];
GetCurrentDirectory(MAX_PATH, NPath);
std::cout << NPath << std::endl;
或者,如果您使用的是C ++ 17,则可以使用标准库来执行此操作:
std::cout << std::filesystem::current_path().string() << std::endl;
确保该文件位于与上述代码段打印相同的路径中。