Четвертый Borland C++ и его окружение

Чтение и запись целых чисел


Старые потоки записывают данные типов int и unsigned как

двухбайтовые значения. Чтобы облегчить переход на 32-разрядные

платформы, новые потоки записывают значения int и unsigned как

4-байтовые значения. Новые потоки могут считывать старые потоки и

будут корректно обрабатывать 2-байтовые значения.

Старые потоки предусматривают две функции-элемента для чтения и записи целых значений:

void writeWord(unsigned);

unsigned readWord();

В новых потоках они изменились:

void writeWord(uint32);

uint 32 readWord();

Существующий програмный код, который использует эти функции,

после перекомпиляции и перекомпоновки будет продолжать работать

корректно, хотя вызов readWord будет генерировать предупреждения

о потере точности (когда возвращаемое значение в 16-разрядном

приложении присваивается переменной типа int или unsigned). Однако в новых программах этих функций следует избегать. В общем случае истинный размер записываемых данных вам вероятно известен,

поэтому библиотека потоков предусматривает теперь отдельные функции для каждого размера:

void writeWord16(uint16);

void writeWord32(uint32);

uint16 readWord16(uint16);

uint32 writeWord32(uint32);



Содержание раздела