必要性: 標準の Qt 型の構造体を、人間が読み取り可能/編集可能なファイルとの間で読み書きします。
試した:QSettings。それを機能させるのはかなり簡単でした。問題: QSettings は定期的に、および dtor で QSettings::sync() を自動的に呼び出します。設定ファイルが要求に応じてのみ更新され、実行時のデータ構造が要求に応じてのみ変更されるようにする必要があります。
試した:QDataStream。問題: 人間が読み取ったり編集したりできない。
試した: 標準の readline と QString::toInt() などを使用した手動のシリアル化と逆シリアル化。QSettings がサポートする型をサポートする必要がありますが、その QString には「toFoo()」メソッドがありません。この方法は、はるかに多くのコーディングになります。
QSettings を使用せずに人間が読めるデータをシリアル化および逆シリアル化する方法はありますか? それに関するすべてが要件に反しています。ファイルの名前は異なるはずです。アクセスは別の方法で制御する必要があります。
sync() を単にブロックする方法があれば、おそらく十分でしょう。おそらく、他のことは何でも回避できます。私に最も問題を与えるのは「同期」です。