私は大学のオペレーティングシステムコースでファイルシステムに関するプロジェクトを行っています。私のCプログラムは、人間が読めるファイルの単純なファイルシステムをシミュレートする必要があるため、ファイルは行に基づいている必要があり、行は「セクター」になります。上書きするには行が同じ長さでなければならないことを知ったので、行の終わりまでASCIIゼロでパディングし、後で埋めることができるASCIIゼロの行を一定量残します。
今、私はテストプログラムを作成して、希望どおりに機能するかどうかを確認していますが、そうではありません。私のコードの重要な部分:
file = fopen("irasproba_tesztfajl.txt", "r+"); //it is previously loaded with 10 copies of the line I'll print later in reverse order
/* this finds the 3rd line */
int count = 0; //how much have we gone yet?
char c;
while(count != 2) {
if((c = fgetc(file)) == '\n') count++;
}
fflush(file);
fprintf(file, "- . , M N B V C X Y Í Ű Á É L K J H G F D S A Ú Ő P O I U Z T R E W Q Ó Ü Ö 9 8 7 6 5 4 3 2 1 0\n");
fflush(file);
fclose(file);
今は何もしません。ファイルは同じままです。何が問題なのですか?
ありがとうございました。