stringstream str()函数返回坏的ptr

时间:2014-11-25 06:15:50

标签: c++ std stringstream stdstring

我正在尝试读取一个XML文件并在std :: stringstream中缓冲它,但是当我在缓冲数据上调用str()函数时,我得到了一个糟糕的ptr ..

...代码

std::stringstream pushFileToStream(const char* xmlFile)
{
    std::stringstream buffer;

    std::ifstream file(xmlFile);
    if ( file )
    {
        buffer << file.rdbuf();
        file.close();
    }
    return buffer;
}

int main()
{
    const char* xmlFile = "resources/sample.xml";
    std::stringstream inputLicenseFile = pushFileToStream(xmlFile);

    std::string strXml = inputLicenseFile.str();  <--- bad ptr..
    return 0;
}

0 个答案:

没有答案