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

时间:2013-10-10 15:49:57

标签: c++

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

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

1 个答案:

答案 0 :(得分: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);

真是愚蠢的错误,抱歉找不到。