Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
1

Как правильно парсить массив с (hex)00?

27.01.2020, 23:04. Показов 1273. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Реализовываю класс для декодинга ASN1.DER ,
Появилась проблема когда я делаю запрос из базы то я кастую данные в const unsigned char *
C++
1
2
sqlite3_step(sqlStatement2);           
          const unsigned char *pBuffer = reinterpret_cast<const unsigned char*>( sqlite3_column_blob(sqlStatement2, 0) );
потом передаю этот массив в мой метод который копирует содержимое( на случай если массив который передали динамический , чтобы не потерять данные)
C++
1
2
3
4
5
6
7
8
9
const unsigned char *  decoder::NewArr(const unsigned char* arr) {
    const unsigned char * pointer = arr;
        for(;*pointer != '\0'; ++pointer){
            ++size;
        }
    unsigned char * temp = new unsigned char[size+1]{};
    memcpy(temp,arr,size);
    return temp;
}
доходит до 68 байта и все , на 68 байте находится 00 , что делать в таких случаях? заранее передавать размер массива ?
если что код могу скинуть весь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.01.2020, 23:04
Ответы с готовыми решениями:

Как парсить hex code?
Как можно пропарсить hex code файла?

Как парсить правильно?
Всем привет, у меня есть страница со списком монет у игроков, в Edit1.Text Водиться ник игрока и он...

Как правильно парсить?
У меня есть следующая строка: Как с помощью JSON-парсера считать значение number с объекта...

Как правильно парсить JSON?
Подскажите пожалуйстка как правильно JSON парсить. Пробую вот так $file =...

5
Заблокирован
27.01.2020, 23:13 2
Лучший ответ Сообщение было отмечено ReYalp как решение

Решение

Цитата Сообщение от ReYalp Посмотреть сообщение
заранее передавать размер массива ?
конечно.
0
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
27.01.2020, 23:19  [ТС] 3
Verevkin, всеравно не работает , почему-то после того как 00 встречает дальше все тоже нули

Добавлено через 2 минуты
Verevkin, нашел в чем ошибка была, появился другой вопрос , а как программно узнать длину такой строки ? strlen же не будет корректно работаьть
0
Заблокирован
27.01.2020, 23:21 4
Цитата Сообщение от ReYalp Посмотреть сообщение
а как программно узнать длину такой строки ? strlen же не будет корректно работаьть
Что возвращает sqlite3_column_blob(sqlStatement2, 0)?
Ты вызываешь перед ней sqlite3_column_bytes(), например?
0
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
27.01.2020, 23:24  [ТС] 5
Verevkin, указатель на void

Добавлено через 1 минуту
Verevkin, в случае с запросом этим это ок, есть метод специальный который возвращает байты которые получены, а что делать если такого метода нет?
0
Заблокирован
27.01.2020, 23:28 6
Цитата Сообщение от ReYalp Посмотреть сообщение
а что делать если такого метода нет?
А его нет? Что возвращает метод sqlite3_column_bytes()? Уж не размер ли содержимого блоб-поля в байтах, а?

Добавлено через 1 минуту
Лан, я спать пошёл. В БД и С++ я не шарю, мож кто умный зайдёт и подскажет, а мне вставать с утра на работу.
1
27.01.2020, 23:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.01.2020, 23:28
Помогаю со студенческими работами здесь

Как правильно парсить CSV?
Здравствуйте, форумчане! Я пишу бота, который бы помогал пользователю получать необходимую...

Как правильно парсить книги fb2?
Всем привет. Не подскажите. Как правильно парсить книги в формате fb2? Пробую через linq, но...

Как правильно парсить xml-файл?
Ребята, подскажите, как правильно распарсить файл xml, так, чтобы каждому тегу было присвоено его...

Подскажите, как правильно парсить строку?
помогите парсить строку в массив. есть строка в определенном формате наго MOW220315BER андо из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru