Форум программистов, компьютерный форум CyberForum.ru

Чтение байтов из строки hex-символов - C++

Восстановить пароль Регистрация
 
train-killer
0 / 0 / 0
Регистрация: 07.06.2011
Сообщений: 3
07.06.2011, 17:44     Чтение байтов из строки hex-символов #1
Есть файл, состоящий из строк вида "090A0B0C0D0E0F20". Необходимо считать эту строку как массив байтов. Для приведенной строки должен получиться массив, содержащий: 9 10 11 12 13 14 15 16.

Решил проблему, что называется, в лоб (несколько упрощенный вариант):

......
C++
1
2
3
4
5
6
7
8
9
10
11
12
ifstream f("some_file");
iostringstream strstrm;
string str;
char bc[3] = "00";
int val;
 
f >> str;
strstrm << str;
while(strstrm.read((char*) bc), 2) {
    val = strtol(bc, NULL, 16);
    cout << val << endl;
}
.....

Пока только начинаю знакомство с STL, так что возник вопрос, есть ли более "правильный" вариант?
Например что то вроде:
C++
1
2
strstrm << setw(2) << hex;
while(strstrm >> val) cout << val << endl;
Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2011, 17:44     Чтение байтов из строки hex-символов
Посмотрите здесь:

Влияет ли манипуляторы hex,oct,dec на массив символов? C++
C++ Чтение файла как hex
C++ Чтение символов из строки
C++ Как из строки достать hex в int
C++ Hex коды символов из char* в стринг
Если HEX одного файла заменить на HEX другого, то изменится ли файл и будет ли работоспособным? C++
C++ Получить из строк новую строку, содержащюю первые N1 символов строки S1 и последнии N2 символов строки S2
C++ Чтение файла GIF. Перевод текста в HEX. Декодирование GIF анимации

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 18:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru