Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
presler
0 / 0 / 1
Регистрация: 16.12.2009
Сообщений: 3
#1

дан массив char[22] как превратить отдельные байты в int, short - C++

14.10.2010, 11:58. Просмотров 1028. Ответов 1
Метки нет (Все метки)

Дан массив char[22]. В нем содержатся на заранее определенных местах разные типы целых(int и short). Как их грамотно выделить в отдельные переменные? Например 1-2-3-4 = unsigned int; 5-6 = unsigned short; 7-8-9-10 = int; и т.д. Некоторые байты могут быть равны нулю.
Пытался сделать через std::stringstream, считывая потом побайтно из потока, но ничего не получилось, и еще приходил в голову неработающий костыль:
C++
1
2
3
4
5
6
7
8
    char a[6];
    a[0] = 0xee; a[1] = 0xff;
    a[2] = 0xfa; a[3] = 0xff; a[4] = 0xff; a[5] = 0xff;
    unsigned int z;
    unsigned short c;
    z = (a[2] * 256 * 256 * 256 +  a[3] * 256 * 256 +  a[4] * 256 +  a[5]);
    c = ( a[0] * 0x100 +  a[1]);
    std::cout << std::hex <<  c << ' ' << z;
На c-sharp знаю есть функции BinaryReader(MemoryStream).ReadInt16 и BinaryReader(MemoryStream).ReadInt32, вот что-нибудь бы такое.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.10.2010, 11:58
Я подобрал для вас темы с готовыми решениями и ответами на вопрос дан массив char[22] как превратить отдельные байты в int, short (C++):

Двоичный дамп short и char выводится как int
Доброго дня! Пытаюсь выводить двоичный дамп переменных char, short и int вот...

Как превратить число из char в int ?
Здрасте всем... Начал я учится и тут же непонятки, помогите плиз. Как мне на...

Преобразование 2-х char в один short int
Пробую преобразовать 2 char в один short int таким образом: char buf;...

Char, short, int, long: какой тип выбрать?
Всем привет Читая книги по C++ столкнулся с тем, что везде пишут примерно...

записать по-битого один short int в два char
Здрасьте, всем. Записать побитого два char в один short int это: char char1;...

Копировать байты из массива char в int
Добрый день Какими стандартными функциями это можно реализовать? Например, я...

1
accept
4833 / 3254 / 454
Регистрация: 10.12.2008
Сообщений: 10,569
14.10.2010, 12:28 #2
memcpy()
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.10.2010, 12:28
Привет! Вот еще темы с решениями:

Размер для данных (int, char, long, double, short, unsigned, float)
Напишите программу, которая будет определять размер для данных (int, char,...

Создать объединение, что содержит элементы типов char int short fload long string
всем доброго времени суток! мне нужно создать объединение, что содержит...

Напишите программу, которая будет определять размер для данных (int, char, long, double, short, unsigned, float) и выводить информацию
1. Какие типы данных лучше всего использовать для хранения следующих значений:...

Как в выделенную память записать поочередно число int, массив char[n], и еще число int
Выделяю память void* Start=malloc(Size); Как туда записать поочередно...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru