C++ do Javy przez plik binarny

Odpowiedz Nowy wątek
2006-07-21 15:38
Osiom
0

Mam problem z przeniesieniem danych z programu w C++ do Javy. Program napisany w C generuje plik binarny za pomoca funkcji fwrite z zapisanymi w nim wartosciami zmiennych Integer (dane sa zgrupowane w tablicy int). Kiedy jednak czytam ten plik w Javie za pomoca FileInputStream.readInt wczytuje juz calkiem inne wartosci. Czemu?? Jak wczytac taki plik do Javy zeby wartosci zostaly te same??

Pozostało 580 znaków

2006-07-21 16:04
0

Java ma zawsze, niezależnie od platformy stały rozmiar zmiennych, np. int zawsze ma 32bity (4bajty), różne kompilatory C++ mogą mieć czasem inne rozmiary zmiennych (np w C++Builder 6 rozmiar int i long jest taki sam - 32bity - akurat się rozmiar zgodził, ale nie zawsze się tak zgodzi); może dlatego nie wychodzi...

Pozostało 580 znaków

2006-07-21 16:25
pikseloza
0

Ja tyulko dodam ze jesli masz pentiuma to C++ zapisuje w little endian, natomiast java zapisuje w bigendian bez wzgledu na procka. Wiec jesli chcesz wczytac poprawnie to musisz odwrocic kolejnosc bitow intow ktore wczytasz.

Pozostało 580 znaków

2006-07-21 16:37
Osiom
0

Pikseloza - jestes <font size="6">WIELKI</span> -> bity obocone, dane wczytane :> Dzieki!!!

Pozostało 580 znaków

2006-07-24 07:29
pikseloza
0

W sumie powinno byc "bajtow" a nie "bitow", grunt ze sie zrozumielism i super ze dziala ;]

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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