ハードウェアユニットでいくつかのテストを実行し、各テストの結果とテストを実行するために実行した手順の両方をログに記録するプログラムを作成しています。秘訣は、プログラムが利用可能になったときにこれらの結果をテキストファイルに記録することです。これにより、プログラムがクラッシュしても、取得した結果が失われることはなく、ログはクラッシュのデバッグに役立ちます。
たとえば、2つのテストで構成されるプログラムを想定します。プログラムが最初のテストを終了し、2番目のテストに取り組んでいる場合、ログファイルは次のようになります。
Results:
Test 1 Result A: Passed
Test 1 Result B: 1.5 Volts
Log:
Setting up instruments.
Beginning test 1.
[Steps in test 1]
Finished test 1.
Beginning test 2.
[whatever test 2 steps have been completed]
2番目のテストが終了すると、ログファイルは次のようになります。
Results:
Test 1 Result A: Passed
Test 1 Result B: 1.5 Volts
Test 2 Result A: Passed
Test 2 Result B: 2.0 Volts
Log:
Setting up instruments.
Beginning test 1.
[Steps in test 1]
Finished test 1.
Beginning test 2.
[Steps in test 2]
Finished test 2.
All tests complete.
どうすればこれを行うことができますか?QFileとQTextStreamのヘルプファイルを見てきましたが、既存のテキストの途中にテキストを挿入する方法がわかりません。クラッシュした場合に別々のファイルになってしまうので、別々のファイルを作成して最後にそれらをマージしたくありません。また、変更を加えるたびにファイルを最初から書きたくありません。これを行うには、より高速でエレガントな方法があるはずだからです。