Вопрос Парсинг байтов с сайта для manual map

Начинающий
Статус
Оффлайн
Регистрация
22 Июл 2020
Сообщения
72
Реакции[?]
5
Поинты[?]
0
Такая тема уже была на yougame, но так и не была решена. Я получаю байты для manual map в виде байтов в строке, как я могу их преобразовать в байтовый массив на C++?

Пример:

std::string bytes = "0x14, 0x12"; и т.д. => BYTE bytes2[ ] = { 0x14, 0x12 };
 
Участник
Статус
Оффлайн
Регистрация
15 Янв 2021
Сообщения
492
Реакции[?]
289
Поинты[?]
79K
Если я правильно понял, то разбей полученную строку на подстроки. И потом каждую подстроку переводи в число с помощью функции std::strol. Это вот прям первое что пришло в голову
 
Pa$$ter
Пользователь
Статус
Оффлайн
Регистрация
9 Июн 2020
Сообщения
241
Реакции[?]
83
Поинты[?]
12K
Или как предложено выше, или вот так (насрал за 5 сек):

C++:
std::stringstream file("0xDE, 0xAD, 0xBE, 0xEF, 0xAA");
std::vector<unsigned char> result;

while (file.good())
{
    std::string substr;
    getline(file, substr, ',');
    char* p;
    substr = substr.substr(substr.find_first_not_of(' '));
    unsigned char val = strtol(substr.c_str(), &p, 16);
    result.push_back(val);
}

//result.data() - твой массив
Здесь я читаю твои байты из потока, что более эффективно в плане памяти использования памяти, да и по идее быстрее чем разбивать на кучу подстрок.
 
Олдфаг
Статус
Оффлайн
Регистрация
4 Янв 2020
Сообщения
2,992
Реакции[?]
1,274
Поинты[?]
4K
че за кринж блять я только что посмотрел
прочти байты в unsignedchar и всё
 
Pa$$ter
Пользователь
Статус
Оффлайн
Регистрация
9 Июн 2020
Сообщения
241
Реакции[?]
83
Поинты[?]
12K
Олдфаг
Статус
Оффлайн
Регистрация
4 Янв 2020
Сообщения
2,992
Реакции[?]
1,274
Поинты[?]
4K
Начинающий
Статус
Оффлайн
Регистрация
22 Июл 2020
Сообщения
72
Реакции[?]
5
Поинты[?]
0
Или как предложено выше, или вот так (насрал за 5 сек):

C++:
std::stringstream file("0xDE, 0xAD, 0xBE, 0xEF, 0xAA");
std::vector<unsigned char> result;

while (file.good())
{
    std::string substr;
    getline(file, substr, ',');
    char* p;
    substr = substr.substr(substr.find_first_not_of(' '));
    unsigned char val = strtol(substr.c_str(), &p, 16);
    result.push_back(val);
}

//result.data() - твой массив
Здесь я читаю твои байты из потока, что более эффективно в плане памяти использования памяти, да и по идее быстрее чем разбивать на кучу подстрок.
Спасибо большое!
 
Сверху Снизу