ifstream无法找到文件

时间:2017-10-01 12:28:51

标签: c++ visual-studio

我正在尝试使用ifstream在c ++中打开一个文本文件,但即使该文件与.cpp文件位于同一目录中,也无法找到该文件:

  #include <fstream>

  std::ifstream textInput("words.txt");
  if (!textInput) {
      return false;

我已经三次检查,文件肯定存在并且命名正确。我不确定我是否在ifstream或路径上做错了。

编辑:我把文件放在visual studio的当前工作目录中,它将文件相对路径显示为“words.txt”,但它仍然无法找到该文件。

1 个答案:

答案 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;

确保该文件位于与上述代码段打印相同的路径中。