Witam mój program polega na odczycie danej z pliku binarnego i zapisanie jej z powrotem z odwróconym znakiem, jednak gdzieś jest błąd w moim zamyśle gdyż program się zapętla, proszę o sprawdzenie kodu mojej funkcji : )
void zamiana_znaku(char * nazwa)
{
FILE * wej;
double liczba;
wej = fopen(nazwa,"r+b");
if (wej)
{
while (fread(&liczba, sizeof(double), 1, wej) == 1)
{
printf("Odczytana liczba = %f\n",liczba);
if (liczba > 0||liczba < 0)
{
liczba = -1 * liczba;
fseek(wej,-sizeof(double),SEEK_CUR); // cofam się o 8 bajtów aby nadpisać liczbę, która odczytałem
fwrite(&liczba, sizeof(double), 1, wej);
}
}
}
else
{
printf("nie uda³o sie otworzyc");
}
fclose(wej);
}