使用 ifstream 打开文件时遇到问题

Having trouble opening a file using ifstream

本文关键字:遇到 问题 文件 ifstream 使用      更新时间:2023-10-16

我需要一些帮助来打开文件并解析它,但我ifstream无法打开文件时遇到问题。 文件的名称与扩展名一起正确传递。

问题在于myFile.open(file);似乎没有"实际打开"文件,因为我得到了恒定的Could not open file输出。

编辑的代码!!原因:我注意到它在检查文件时没有采用完整的文件路径;它现在可以正确识别文件的位置,但是,仍然无法打开它们。

这是我正在使用的内容:

#include "Parser.h"
using namespace std;
Parser::Parser() {};
void Parser::parseFile(std::string dir, const char* file)
{
    dir = dir + "\" + std::string(file);
    cout << dir;
    //cout << dir;
    ifstream myFile;
    myFile.open(file);
    if (! myFile)
    {
        cout << "Could not open file " << myFile <<endl;
        //exit(3);
    }
}

请注意,我已经尝试在我的 fstream myFile 的声明前面添加 std::,但它仍然不起作用。

非常感谢任何帮助,谢谢。

#include "Parser.h"
using namespace std;
Parser::Parser() {};
void Parser::parseFile(std::string dir, const char* file)
{
    dir = dir + "\" + std::string(file);
    cout << dir;
    //cout << dir;
    ifstream myFile;
    myFile.open(file);
    if (! myFile)
    {
        cout << "Could not open file " << myFile <<endl;
        //exit(3);
    }
}

行:myFile.open(file);需要更改为myFile.open(dir);

真是愚蠢的错误,很抱歉给您带来麻烦。