ブーストのプロパティ ツリーを使用して XML ファイルを解析しようとしましたが、文字列の値を取得しようとするたびに、アクセス違反の例外がスローされます。整数で問題なく動作するので、少し混乱しています。コードの一部を次に示します。
class Config
{
char * test;
int test2;
public:
Config();
};
Config::Config(void)
{
boost::property_tree::ptree pt;
boost::property_tree::xml_parser::read_xml("config.xml", pt);
try
{
test = pt.get<char*>("base.char");
test2 = pt.get<int>("base.int");
}
catch(std::exception e)
{
//something wasn't specified
}
}
そして XML ファイル:
<base>
<char>test</char>
<int>10</int>
</base>
最初に、文字列にスペースを割り当てなかったが、malloc() も new char[] も役に立たなかったことが原因だと思いました。
どんな助けでも大歓迎です。前もって感謝します :)