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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Функция для переворота двухмерного массива http://www.cyberforum.ru/cpp-beginners/thread315144.html
помоги пожалуйста закончить решение задачки. Передать двухмерный массив в шаблонную функция которая возвращает перевернутый массив. #include "stdafx.h" #include <iostream> using namespace std; ...
C++ Что обозначает данный код? Подскажите, пожалуйста, как пояснить строки 4 и 5 в коде: #include <iostream.h> char& last (char* s) { while (*++s); return*(--s); } void main() { char s="12345"; http://www.cyberforum.ru/cpp-beginners/thread315141.html
C++ Итераторы
Нужно сгенерировать в файл случайные числа, потом прочитать числа из файла и провести некие действия, после записать в другой файл. #include <iostream> #include <fstream> #include <vector>...
работа с файлами, c++ C++
В двоичном файле хранятся последовательности вещественных чисел, представляющих собой наборы значений различных функций одной переменной на дискретной сетке аргумента функций. Собственно функции...
C++ И снова malloc... http://www.cyberforum.ru/cpp-beginners/thread315089.html
Всем привет! Читаю книгу "Герберт Шилдт - самоучитель С++" В нём такое задание: Измените класс stack так, чтобы память для стека выделялась динамически. При этом длина стека должна задаваться...
C++ Математика в программировании Дорогие программисты, объясните мне пожалуйста, как математика отражается в программировании и такие разделы как арифметика, элементарная алгебра, элементарная геометрия (планиметрия и... подробнее

Показать сообщение отдельно
train-killer
0 / 0 / 0
Регистрация: 07.06.2011
Сообщений: 3

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

07.06.2011, 17:44. Просмотров 1143. Ответов 0
Метки (Все метки)

Есть файл, состоящий из строк вида "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;
Заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru