我需要一些打开文件并解析它的帮助,但我有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 ::但它仍然不起作用。
非常感谢任何帮助,谢谢。
答案 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);
真是愚蠢的错误,抱歉找不到。