Grava em um arquivo usando fputs em C
Alguém poderia me dizer por que o arquivo não muda? Funciona quando eu usorewind
oufseek
mas não de outra forma.
Qual é a maneira padrão de usarfputs
depois defgets
. O indicador de arquivo está na posição 9, portantofputs
deve escrever depois disso, mas não faz nada.
No arquivo:
abcd efgh ijkl mnor
No código fonte:
char c;
char str[15];
FILE *fp = fopen("d:\\data.txt","r+");
fgets(str, 10, fp);
// fseek(fp, 9, SEEK_SET);
// rewind(fp);
printf("%d\n", ftell(fp));
// ftel shows that it's in "9".
printf("%s", str);
fputs(str, fp);
// why its not working
fclose(fp);