无法通过is_open和良好检查读取文本文件?

时间:2014-11-04 03:24:44

标签: c++ string fstream stringstream

我在尝试加载文本文件时遇到了“访问冲突写入位置”错误。在调试时,我注意到我的" is_open()" " good()"检查都通过,因为我到达" while(std :: getline(myfile,line))。怎么可能?甚至笨拙的是,这个功能在它自己的项目中完美运行但由于某种原因我在这里得到了访问冲突错误。

//标题

static bool LoadObj(std::string file, std::vector<GLfloat> &out_vertices, std::vector<GLfloat> &out_normals);

// CPP

bool Resources::LoadObj(std::string file, std::vector<GLfloat> &out_vertices, std::vector<GLfloat> &out_normals)
{
std::string line;
std::ifstream myfile(file);

if (myfile.is_open())
{
    if (myfile.good())
    {
        while (std::getline(myfile, line))
        {
            if (!strncmp(line.c_str(), "v", 1))
            {
                std::string dummy;
                std::stringstream ss(line);
                ss >> dummy;

                while (ss >> line)
                {
                    out_vertices.push_back(std::stof(line));
                    std::cout << line;
                }
            }
        }
    }
}

return false;
}

1 个答案:

答案 0 :(得分:0)

请参阅以下问题以获得答案。需要包含lib和配置编译器设置。 fstream included but "ifstream not found" and "identifier is undefined"