Witam, mam mały problem :) po utworzeniu pliku tekstowego i zapisaniu do niego dowolnej linii tekstu np"Ala ma kota", oraz ponownym otwarciu tego pliku i odczytaniu tekstu oprocz niego pojawiają się dodatkowe znaki, jak przy wyjściu poza obszar stringa, jednak jezeli otwieram tym sposobem juz istniejacy plik wszystko jest w porzadku. Jeżeli ktoś byłby w stanie wskazać błąd ewentualnie nakierować mnie co poprawić byłbym wdzięczny :)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
FILE *plik;
char tekst[200];
char *pomocnicza;
char *bufor;
int size,i;
gets(tekst);
if((plik=fopen("dane.txt","w"))==NULL)
{
printf("Blad zapisu plkiu\n");
return 0;
}
fputs(tekst,plik);
fclose(plik);
plik=fopen("dane.txt","r");
if((plik==NULL))
{
printf("Blad odczytu\n");
return 0;
}
fseek(plik,0,SEEK_END);
size=ftell(plik);
bufor=(char*)malloc(sizeof(*bufor)*size);
rewind(plik);
fgets(bufor,size+1,plik);
fclose(plik);
pomocnicza=(char*)malloc(size*sizeof(*bufor));
for(i=0; i<size; i++)
{
pomocnicza[i]=bufor[size-i-1];
}
printf("%s",pomocnicza);
free(bufor);
bufor=NULL;
free(pomocnicza);
pomocnicza=NULL;
return 0;
}