0

永続化するデータが必要なアプリケーションがあるため、オブジェクトのシリアル化について考えました。ここで良い例を見つけました。それに従って、私が思いついたのは次のとおりです。

    std::stack <std::string> cards;
    cards.push("King of Hearts");
    std::ofstream ofs("<location>", std::ios::binary);
    ofs.write((char *)&cards, sizeof(cards));
    ofs.close();

次に、データを読み取ろうとしています:

    std::stack<std::string> inp;
    std::ifstream ifs("<same_location>", std::ios::binary);
    ifs.read((char *)&inp, sizeof(inp));

ただし、アプリは最後の行でクラッシュします (何らかの理由で、Qt の設定が原因で、現在デバッグできません)。考えられるエラーは何ですか?どうすれば修正できますか?

4

2 に答える 2