JSONファイルにJSONファイルを読み取り中:C++ jsoncpp:とSegfaultループ
[
{"A":"sample1","B":"sample2","C":"sample3,"D":"sample4"},
{"A":"sample5","B":"sample6","C":"sample7,"D":"sample8"},
{"A":"samplea","B":"sampleb","C":"sampleb,"D":"sampleb"},
.
.
.
}
]
私は、入力ファイル内
struct entry_t
{
U64 param;
}
entry_t entry;
Json::Value root;
Json::Reader reader;
ifstream test("json_file", ifstream::binary);
if(!reader.parse(test, root, false))
{
cout << reader.getFormattedErrorMessages() << endl;}
else
{
for(unsigned int i = 0; i < root.size(); i++)
{
entry.param = root[i].get("A", "null").asInt();
}
}
コード上記2075980ようなエントリが472783thループまで正常に動作しています。次のループで "entry.param"にアクセスしようとしたときにsegフォルトが発生する
私はC++とjsoncppを初めて使用しているため、segフォルトの原因を突き止めることはできません。
のWindows OSでテスト
jsonファイルにはいくつのアイテムがありますか? – Arash
@ArashMohammadi _ "入力ファイルに2075980のエントリがあります" _ – user0042
バイナリとしてファイルを読み込むのはなぜですか? – Arash