C++ do Javy przez plik binarny

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??

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...

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.

0

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

0

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

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