ファイルの内容を完全に変更するより高速な方法を探しています。例の後、それは明らかです:
a.txt :
私は非常に長い (おそらく長すぎない) ファイルです。もっと長くなれると確信しています。
プログラムを実行した後、ユーザーの入力に従って、たとえば次のようになります。
ユーザー入力:
やあ!
それから私は使用しようとしましたfwrite
。問題は、ファイルの残りの部分がまだ残っていることです。そのため、次のようなものがあります。
a.txt :
こんにちは、非常に長い (長すぎないかもしれません) ファイルです。もっと長くなれると確信している
いくつかの調査の後、これは私がやったことです:
FILE
*a;
char
buffer[500];
a = fopen("a.txt", "r");
fread(buffer, sizeof(char), 500, a);
printf("%s\n", buffer);
a = freopen("a.txt", "w", a);
scanf("%s", buffer);
// rewind(a);
// fwrite(buffer, sizeof(char), strlen(buffer), a);
fwrite(buffer, sizeof(char), 10, a);
fclose(a);
それは機能しますが、それを行うより良い方法があるかどうか知りたいです。