Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ ifstream可以';找不到文件_C++_Visual Studio - Fatal编程技术网

C++ ifstream可以';找不到文件

C++ ifstream可以';找不到文件,c++,visual-studio,C++,Visual Studio,我试图用iFixC++在C++中打开一个文本文件,但是它不会找到文件,即使文件和.CPP文件的目录相同: #include <fstream> std::ifstream textInput("words.txt"); if (!textInput) { return false; #包括 std::ifstream textInput(“words.txt”); 如果(!textInput){ 返回false; 我已经进行了三次检查,文件确实存在并且命

我试图用iFixC++在C++中打开一个文本文件,但是它不会找到文件,即使文件和.CPP文件的目录相同:

  #include <fstream>

  std::ifstream textInput("words.txt");
  if (!textInput) {
      return false;
#包括
std::ifstream textInput(“words.txt”);
如果(!textInput){
返回false;
我已经进行了三次检查,文件确实存在并且命名正确。我不确定我是否在ifstream或路径上做了一些错误


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

使用以下命令查找应用程序的运行位置(称为“当前工作目录”):

TCHAR NPath[MAX_PATH];
GetCurrentDirectory(最大路径,NPath);

std::难道这不是一个路径问题吗?如果您是从IDE运行,文件需要在您的项目目录中。它是一个Unicode程序吗?如果您输入完整的绝对路径,它可以工作吗?我认为您不需要visual studio的工作目录。您需要运行程序的工作目录。为什么不演示如何跨平台执行此操作我使用的是?如果有的话,.这是c++17,他的编译器支持的可能性是-->0…但为了将来的访问者,我会改进我的答案:)谢谢!我将文件放在吐出的路径中,但仍然找不到文件:(.visual studio甚至将其相对路径显示为“words.txt”作为一个实验——如果您输入绝对路径(例如,它可能看起来像“C:\somedirectory\words.txt”(Windows)或“/home/myname/somedirectory/words.txt”(Linux)),它找到文件了吗?输入绝对路径也找不到文件
TCHAR NPath[MAX_PATH];
GetCurrentDirectory(MAX_PATH, NPath);
std::cout << NPath << std::endl;
std::cout << std::filesystem::current_path().string() << std::endl;