BlinCT
22 грудня 2022 р. 19:40

Правильное чтение данных строки Си методом

Всем привет.
Пытаюсь прочитать правильно данные строки и перенести в буфер для дальнейшего использования.
Но столкнулся с плохим пониманием места ошибки.

uint8_t *PackNetwork::toByte(uint32_t &size)
{
    uint8_t *dataBuffer = new uint8_t[header.size];
    memcpy(dataBuffer, &header, sizeof(packHeader));

    uint32_t offset = sizeof(packHeader);

    for (auto &item : dataList)
    {
        uint32_t sizeData = 0;

        uint8_t *byteData = item->toByte(sizeData);
        memcpy(dataBuffer + offset, byteData, sizeData);
        offset += sizeData;
    }

    size = header.size;
    return dataBuffer;
}

После выполнения uint8_t *byteData = item->toByte(sizeData) в переменной byteData находится нужная мне строка. Но после выхода из цыкла return возвращает мне пустую строку.
Мог бы кто то мне указать на возможное место ошибки?
Если важно то offset имеет размер 32(размер структуры)
Заранее спасибо.

1

Вам це подобається? Поділіться в соціальних мережах!

0

Коментарі

Only authorized users can post comments.
Please, Log in or Sign up