Struktury i binarne pliki

0

Witam!

Postanowiłem się zabawić w tworzenie własnego pliku binarnego, który przechowuje wiadomości. Najpierw jest nagłówek, potem struktury m_messages, czyli wiadomości.

http://jackweb.ovh.org/messages.cpp
Jednakże coś nie działa. Zapisuje number_from = 1234, a odczytuje jako 978. Tak samo z time, jest jakiś inny czas. Co jest źle?

0

Doszedłem do tego, że niektóre znaki mają wartość ujemną, co zmniejsza wynikową liczbę zakodowaną w big_endian. Jak to możliwe, że jest odczytywane inaczej? W HexEditorze odczytywałem i było dobrze.

Z góry dzięki za odpowiedź. :-)

0

Odczytuj je do zmiennych unsigned.

0

Normalnie jest -46 dla 1234, a przy konwersji (unsigned int) jest równy std::npos, czyli ponad 4 * 10^9.

Zapisuje dobrze, odczytuje w Hexeditorze dobrze, program odczytuje dobrze znak, a jak skleja go do stringu i jest odczytywany packet[0], to wczytuje liczbę ujemną. Coś nietak. :/

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