1

私は給与計算プログラムを C++ で書いていますが、ファイル内の行を読み取り、計算を行い、ファイル内の読み取り行を上書きできるようにする必要があります。特定の行を単純に上書きしたり、新しい行を挿入したり、既存のファイルの末尾に追加したりできる関数/方法はありますか?

4

1 に答える 1

2

テキスト ファイルにテキストを「挿入」または「削除」する C++ 機能はありません。これを行う唯一の方法は、既存のテキストを読み込んで、変更されたテキストを書き出すことです。

新しいテキストが古いテキストと同じスペースに収まる場合は、既存のテキストを上書きするだけで済みます。もちろん、.CSV ファイルのカンマの前後にいつでも余分なスペースを追加できます。 「畑」の一部。しかし、新しいデータがより長い場合、「その場で上書き」することは確実に機能しません。

ios_base::ate修飾子を使用すると、末尾に追加するのは比較的簡単です。しかし、途中に挿入するには、基本的に関連する場所が見つかるまで読む必要があり、新しいテキストが長い場合は、新しいテキストを書き出す前に次の行をすべて読む必要があります.

于 2013-07-31T16:03:40.237 に答える