Nadpisanie pliku binarnego

0

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);
}

0
wej=fopen(nazwa,"rwb+");

1 użytkowników online, w tym zalogowanych: 0, gości: 1