我正在大学操作系统课程上做一个关于文件系统的项目,我的 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);
现在它什么也不做,文件保持不变。可能是什么问题呢?
谢谢你。