Zdarte. Potrebujem zapisovať na koniec prvého riadku v súbore (počet znakov nie je konštantný). Napísal som funkciu, ktorá zistí, koľko znakov má tento prvý riadok a potom sa pomocou funkcie fseek() posúvam a príslušný počet bajtov. Nefunguje to však tak, ako by som potreboval, ono to totiž čiastočne prepíše aj slovo z ďalšieho riadku a presunie ho do prvého riadku. (ak niekto pozná lepšie riešenie tak pls dajte vedieť)
Kód:
#include <stdio.h>
int zistiPocetZnakov(FILE *fr);
int main()
{
FILE *fr, *fw;
fr = fopen("subor.txt", "r");
fw = fopen("subor.txt", "r+");
fseek(fw, (long) (zistiPocetZnakov(fr) * sizeof(char)), SEEK_SET);
fclose(fr);
fprintf(fw, "TU");
printf("HOTOVO\n");
fclose(fw);
getchar();
return 0;
}
int zistiPocetZnakov(FILE *fr)
{
int pocetZnakov = 0;
char znak;
do {
znak = getc(fr);
pocetZnakov++;
} while (znak != '\n');
return pocetZnakov;
}
Ďalej by som ešte potreboval vediet ako vymazať nejaký reťazec z textového súboru.
Thx.