私は現在、システムコールによってsedを使用してパラメータファイル内の単一の値を編集するCプログラムを持っています。私はこの値を編集するためにCのファイルライブラリを使用するプログラムを変更したいと思いますが、これを行う方法を知っている唯一の方法は、ファイル全体を読み込み、値を変更し、ファイルを書き換えることです。これを行うより効率的な方法はありますか?このプログラムは組み込み機器での使用を想定しており、可能な限り最も効率的なソリューションを使用したいと考えています。Cでファイル内の単一の値を効率的に編集する
0
A
答えて
1
ファイルを使って作業することは、実際には挿入や削除の前にできないという意味での配列操作のようなものです。挿入と削除は、ファイル/アレイの残りの部分をシフト(コピー)する必要があります。要素の置換のみが可能です(読み書きのためにファイルを開き、seek
を使用して)。
ファイル全体を読み書きすることは、特に小さなファイルの場合には非常に効率的です。メモリ使用量が問題でない場合は、それが私が取るアプローチです。
特定の状況では、他のソリューションが優れているかもしれませんが、一般的にはあなたのアプローチがベストです。
関連する問題
- 1. 間隔の集合で値のC++効率的な検索
- 2. VimのDjango設定ファイルを編集する最も効率的な方法
- 3. 集合内の一意の順列を効率的に計算する
- 4. ノード内の行単位でファイルを効率的に読み取る
- 5. CのSQLite:テーブルから複数の単一値の統計情報をより効率的に取得する
- 6. WPF Datagridは単一セルの値のみを編集します
- 7. C#で編集モードでXMLファイルを編集する方法
- 8. JSONの文字列を編集する最も効率的な方法
- 9. 最小編集距離で効率的なランダムシーケンスを作成する
- 10. 同じFileSystem内のファイルを効率的にコピーする方法
- 11. Angular2/Ionic2の編集でマークアップの一部を無効にする
- 12. XMLファイル内のノードを最も効率的に見つける方法(C++)
- 13. C#でPDFファイルを編集する
- 14. C#データ収集vデータベース参照 - より効率的ですか?
- 15. C#メモリの編集ブール値
- 16. 正規表現なしでテキスト内の単語の集合を検出する最も効率的な方法
- 17. データフレーム内のヌル値を効率的に見つける方法
- 18. オンライン編集オフィスプラットフォーム内のファイル
- 19. 辞書から一意の値セットを効率的に作成
- 20. 効率的にパンダのデータフレームを行単位で結合する
- 21. 数値の範囲内の空白を効率的に削除
- 22. テキストの文字列内の単語の効率的なフィルタリング
- 23. 端末内のHDFS内のtxtファイルを編集するには?
- 24. マトリクス内のRマッチペアを効率的に
- 25. Qt/C++:効率的に描画する
- 26. 効率的にパンダインデックスの和集合を取得する
- 27. 動的テキスト値を編集するjQuery
- 28. Eclipse、効果的なテキスト編集のショートカット
- 29. 基本.NETスレッド - 単一のリーダーと単一のライタースレッドのオブジェクトを同期する最も効率的な方法
- 30. 「テーブル」で値を見つける効率的な方法C#
ファイルを開き、カーソルをその場所に移動し、変更して保存します。実際にはファイル全体をロードしない点を除けば、sedと同じように動作します。 – texasbruce
はい、ファイルを開いて、自分自身を値に置き、新しいものを書き込むためにseekを使います。 – Fredrik
...新しいデータが以前のデータと同じ長さでない場合は...? –