[+] C - zapis float/double do pliku przecinek zamiast kropki

Potrzebujesz pomocy z C, C++, perl, python, itp.
slomek
Posty: 8
Rejestracja: 20 marca 2007, 23:13

[+] C - zapis float/double do pliku przecinek zamiast kropki

Post autor: slomek »

Pisze program, który zapisuje liczby typu double do pliku.
Po odpaleniu czesc calkowita od ulamka oddzielona jest przecinkiem, a wiekszosc programow (w tym programy napisane w C) zakładają, że powinna być to kropka.
Podejrzewam, że to kwestia lokalizacji systemu.
Jak to zmienić?
mlyczek
Junior Member
Posty: 979
Rejestracja: 02 sierpnia 2006, 19:17

Post autor: mlyczek »

slomek pisze:programy napisane w C) zakładają, że powinna być to kropka.
a w czym Ty piszesz ten program?
slomek
Posty: 8
Rejestracja: 20 marca 2007, 23:13

Post autor: slomek »

C. Kompilator gcc 4.1.2
mlyczek
Junior Member
Posty: 979
Rejestracja: 02 sierpnia 2006, 19:17

Post autor: mlyczek »

No to skoro programy w C oczekują, że zmienne double będą z kropką, a Ty piszesz w C, to dlaczego te liczby w pliku zapisywane są z przecinkiem?
velmafia
Member
Posty: 1820
Rejestracja: 01 września 2006, 00:56
Lokalizacja: Las

Post autor: velmafia »

mlyczek pisze:No to skoro programy w C oczekują, że zmienne double będą z kropką, a Ty piszesz w C, to dlaczego te liczby w pliku zapisywane są z przecinkiem?

chyba właśnie o rozwiązanie tego chodziło dla autora tego tematu ;)
slomek
Posty: 8
Rejestracja: 20 marca 2007, 23:13

Post autor: slomek »

chyba właśnie o rozwiązanie tego chodziło dla autora tego tematu ;]
W rzeczy samej ;)
Ciekawe, że program zapisujacy do pliku liczby zmiennoprzecinkowe, a później z niego czytający sypie się :-P
Kaka'
Senior Member
Posty: 3018
Rejestracja: 30 lipca 2006, 13:17
Lokalizacja: Kartuzy

Post autor: Kaka' »

Możesz pokazać treść programu? (znaczy się, kod) - no chyba, że jakiś długi, bardzo długi napisałeś ;) .
slomek
Posty: 8
Rejestracja: 20 marca 2007, 23:13

Post autor: slomek »

To jest dłuuuuuuuuuuuuuugi program- korzysta z OpenCV i GSL.
Sam zapis jest tradycyjny i banalny:

Kod: Zaznacz cały

fprintf(plik,"%f",liczba_zmiennoprzecinkowa);
mlyczek
Junior Member
Posty: 979
Rejestracja: 02 sierpnia 2006, 19:17

Post autor: mlyczek »

A odczyt jakim polceniem robisz?
slomek
Posty: 8
Rejestracja: 20 marca 2007, 23:13

Post autor: slomek »

Kod: Zaznacz cały

fscanf(plik,"%f",&zmienna);
Tylko nie chodzi mi o ten odczyt. Bardziej boli problem z odczytem pliku z przecinkami przez programy typu Matlab, gnuplot itp.
ODPOWIEDZ