0

私はCでコーディングしています。次のファイルui.txtがあります

user1 | 127.0.1.1
user2 | 127.0.1.1
user3 | 127.0.1.1

「user2」という文字列 str がある場合、ui.txt で str を含む行を見つけ、その行を削除して、次のようにする必要があります。

user1 | 127.0.1.1
user3 | 127.0.1.1

次のようにファイルを開きました。

FILE *fp;
fp = fopen("ui.txt","a+");

別のユーザーとそのIPアドレスなど、新しい情報を入力する必要があるときはいつでも、ファイルの最後に追加するため、a +で開きました。

どうすればいいですか?fgetc または fgets を使用する必要がありますか? これまでfgetsを使用してきました。完全なコードを教えてください。

ロジックを簡素化するのに役立つ場合は、PS str を「user2 | 127.0.1.1」にすることもできます。

4

1 に答える 1

1

あなたは本質的にここと同じことを求めています: Delete a Line from a file in C Language、またここ: Delete a string from a specific position in a file

ファイルをメモリにロードし、そこで編集してから、ディスクに書き戻す必要があります。

于 2012-11-26T01:17:11.703 に答える