BlinCT
Жел. 22, 2022, 7: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

Пікірлер

Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
Кіріңіз немесе Тіркеліңіз