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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
presler
0 / 0 / 0
Регистрация: 16.12.2009
Сообщений: 3
#1

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

14.10.2010, 11:58. Просмотров 965. Ответов 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 - C++
Доброго дня! Пытаюсь выводить двоичный дамп переменных char, short и int вот таким образом: #include &lt;iostream&gt; using namespace...

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

Преобразование 2-х char в один short int - C++
Пробую преобразовать 2 char в один short int таким образом: char buf; short int skl; int kol=0; for(int...

записать по-битого один short int в два char - C++
Здрасьте, всем. Записать побитого два char в один short int это: char char1; char char2; short int s; s=char1&lt;&lt;8|char2; А как...

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
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) - C++
Напишите программу, которая будет определять размер для данных (int, char, long, double, short, unsigned, float) и выводить информацию (о...

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

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

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


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

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

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