1

Qt にアプリケーションの設定ファイルがあります。アプリケーションを起動するたびに、ファイルがロードされ、内容に応じてウィジェットが作成されます。ユーザーにいくつかのカスタマイズオプションを提供しました。アプリケーションを閉じると、設定が変更されているかどうかを確認しています。はいの場合、設定ファイルをもう一度開いてから、すべてを再度追加します。一時ファイルを作成しているのではなく、ファイルを直接編集しています。この方法は効率的ですか?または私はそれを間違っていますか?これらのスレッドを見つけたので: 1.既存のフラット ファイルの中央を編集する最良の方法は何ですか?

  1. http://qt-project.org/forums/viewthread/25924/

バイナリファイルを使用する必要がありますか? 現在、ASCIIファイルを使用しています。ありがとう。

更新:上記のstackoverflowリンクには、正しい答えがあります

フラットの使用に行き詰まっている場合は、昔ながらの更新方法を使用して立ち往生しています。

私が使用している方法が時代遅れであるかどうかを尋ねるつもりでしたが、現在使用されているより良い方法はありますか? & フラットファイルとは何ですか?

4

2 に答える 2

3
  1. ファイルを編集しようとしないでください。全体を書き直します
  2. 一時ファイルを使用して書き換えます。つまり、設定の現在の状態を一時ファイルに書き込みます。次に、一時ファイルが正常に書き込まれたことを確認した後、ファイルを実際の設定ファイルに移動/名前変更します。これは、ファイルの書き換え時にクラッシュが発生した場合に役立ちます。直接書き直すと、古いものも良いものも残されません。一時ファイルを使用して実行する場合は、この方法で実行することで、クラッシュが発生した場合に、少なくとも適切な設定ファイル(古い設定が含まれていますが)を確保できます。
  3. テキスト/バイナリは、それが本当に巨大なファイルでない限り、大きな違いはありません。テキストは、必要に応じて手作業で編集するのに役立ちます。
于 2013-03-21T12:02:38.863 に答える
0

それはそれを行うのに完全に良い方法です。すでにすべての設定がメモリにロードされており、そこで編集しているように見えるので、一時ファイルを気にする必要はありません(書き込み中にプログラムが失敗した場合に安全を確保したい場合を除く)。すべての設定を元のファイルに書き戻すだけです。

バイナリファイルとテキストファイルのどちらを選択するかはあなた次第です。プリファレンスはテキストファイルである傾向があります。これは、プリファレンスを表示するための特殊なソフトウェアではなく、テキストエディタだけで人間が読めるという追加の利点があるためです。ただし、バイナリファイルは、デコードが簡単なため、パフォーマンスがわずかに向上する場合があります。

于 2013-03-21T12:02:19.830 に答える