байкал
03.03.2008, 02:20
Я читаю данные из массива/буфера с байтами.
Сам массив начинается с цифр. Потом идёт или текст, или binary.
В цифрах закодирована информация что именно содержит этот буфер/массив. У меня только адрес первой записи с которой я могу начать читать.
Если вначале идёт uint, потом double, то массив содержит текст. А если вначале double, потом uint, то массив содержит binary.
буфер с текстом
-----------------------------------------------
заголовок | текст
uint double | antichat...
буфер с binary
-----------------------------------------------
заголовок | данные
double uint | 1010101
Как можно узнать, когда был прочитан uint и когда был прочитан double?
(Я думал просто написать if(!(cin >> uint)) или использовать "|" оператор, но не уверен что это сработает. Вообще я с байтами не работал раньше.)
Или, как вообще узнать, что содержит буфер: ASCII или binary?
Сам массив начинается с цифр. Потом идёт или текст, или binary.
В цифрах закодирована информация что именно содержит этот буфер/массив. У меня только адрес первой записи с которой я могу начать читать.
Если вначале идёт uint, потом double, то массив содержит текст. А если вначале double, потом uint, то массив содержит binary.
буфер с текстом
-----------------------------------------------
заголовок | текст
uint double | antichat...
буфер с binary
-----------------------------------------------
заголовок | данные
double uint | 1010101
Как можно узнать, когда был прочитан uint и когда был прочитан double?
(Я думал просто написать if(!(cin >> uint)) или использовать "|" оператор, но не уверен что это сработает. Вообще я с байтами не работал раньше.)
Или, как вообще узнать, что содержит буфер: ASCII или binary?