Overwriting lines in file in C

Posted by KáGé on Stack Overflow See other posts from Stack Overflow or by KáGé
Published on 2010-03-24T19:08:56Z Indexed on 2010/03/24 19:13 UTC
Read the original article Hit count: 364

Filed under:
|
|
|

Hi,

I'm doing a project on filesystems on a university operating systems course, my C program should simulate a simple filesystem in a human-readable file, so the file should be based on lines, a line will be a "sector". I've learned, that lines must be of the same length to be overwritten, so I'll pad them with ascii zeroes till the end of the line and leave a certain amount of lines of ascii zeroes that can be filled later.

Now I'm making a test program to see if it works like I want it to, but it doesnt. The critical part of my code:

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 Í U Á É L K J H G F D S A Ú O 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);

Now it does nothing, the file stays the same. What could be the problem?

Thank you.

© Stack Overflow or respective owner

Related posts about c

    Related posts about file