1

我需要一些帮助来打开文件并解析它,但我遇到了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:: ,但它仍然不起作用。

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

4

1 回答 1

0
#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);

真是愚蠢的错误,麻烦您了。

于 2013-10-10T16:42:15.323 回答