У меня есть буфер данных с следующим содержанием:Обработка заголовка в буфере данных
00000000 20 7F 3E 15 38 34 37 2E 38 33 33 36 38 32 20 2F
00000010 20 31 33 2E 30 30 35 34 31 39 20 3E 20 20 20 20
00000020 20 3E 20 4E 4F 20 47 50 53 20 44 41 54 41 20 20
00000030 20 20 20 20 20 20 20 20 20 20 20 20
Теперь я хочу использовать «реальные» данные, чтобы обработать его в другой функции.
«Реальные» данные - это все после первых 5 байтов. Пятый байт в этом примере 0x38 - это длина данных. Как мне теперь сканировать буфер для заголовка 0x20 0x7F 0x3E 0x15 и байт длины данных и переместить реальное содержимое данных в другой буфер или, может быть, лучше, уложить текущий буфер только на содержимое данных?
Примечание: Я не могу выделить память динамически. Размер буфера всегда равен 60 байтам (включая заголовок).
Thx!
Вы говорите, что «настоящие» данные - это все после первых 5 байтов »и« пятый байт - длина данных ». Итак, почему вы считаете, что вам нужно «сканировать» буфер для заголовка? – usr2564301
Поскольку я хочу знать, получены ли данные, полученные от известного источника/устройства, поэтому мне нужно каждый раз проверять заголовок. – trek
Вам все еще нужны первые пять байт после «удаления» буфера? – alk