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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.65
Suroviy
0 / 0 / 0
Регистрация: 13.05.2010
Сообщений: 58
#1

char to int не могу не как конвертировать - C++

14.03.2012, 00:06. Просмотров 3258. Ответов 22
Метки нет (Все метки)

читаю из файла в массив char'ов соответственно есь массив из четырех элементов в каторых записан один int, вот как это кампу объяснить

пример грубо
C++
1
2
3
4
char* pFile;// сюда зачитан фаил где со второго байта начинаеться int
 
int rez;
memcpy(&rez,&pFile[2],4);
мемкоплю char в char все норм, как только пробую в int не то пальто.

вот такая вот трабла что делать не прилажу головы, гугол показывает только как одинарный char в int делать а это я и так знаю...
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.03.2012, 00:06     char to int не могу не как конвертировать
Посмотрите здесь:

Как конвертировать массив int в int? - C++
Есть массив целых чисел, как из всех этих чисел получить одно единственное? int myints = {7, 4, 5, 3, 0}; int a; //Хочу чтобы a =...

Как конвертировать String в int - C++
Вот например: string a = 09; Сделать что б: Int b = 9; а также: string a = 17; Сделать что б: Int b = 17;

Подскажите пожалуйста с int main(int argc, char*argv[]) - C++
Если я правильно понимаю, то int argc это передача аргумента программе, т. е если argc>1 то программе передан хотя бы один аргумент, если...

Как перевести из char в int? - C++
нужно присвоить значение массива char A в int B, например B=A, но выбивает ошибку, пробовал B=atoi(&A); но выбивает другое число

Как int преобразовать в char? - C++
простите за глупый вопрос)) но у меня есть какое нибудь int x=1234 к примеру, как преобразовать это число в char s="1234"

Как преобразовать int в char? - C++
Прошу подсказать, как же все-таки преобразовывать int в char?

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
14.03.2012, 14:36     char to int не могу не как конвертировать #16
Цитата Сообщение от Suroviy Посмотреть сообщение
читаю фаил bmp создаю char масив размером с фаил заганяю тду фаил а теперь самое интерестное из масива char'ов надо заполнить структуру returnStructBMP вот как это сделать?
Так всеже что мешает
Цитата Сообщение от kazak Посмотреть сообщение
А еще можно открыть файл в бинарном режиме, и считать значение непосредственно из файла.
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
14.03.2012, 14:55     char to int не могу не как конвертировать #17
Цитата Сообщение от kazak Посмотреть сообщение
Так всеже что мешает
Ну вообще одним махом прочитать, а потом разбить на части быстрее будет, чем по одному элементу.
villu
202 / 202 / 4
Регистрация: 06.08.2011
Сообщений: 600
Записей в блоге: 1
14.03.2012, 15:14     char to int не могу не как конвертировать #18
что мешает?
C++
1
returnStructBMP *header = reinterpret_cast<returnStructBMP *>(&char_buf[0]);
только
C++
1
2
3
pragma pack(1)
struct returnStructBMP {..}
pragma pop
не забудь, если этого не сделано.
Suroviy
0 / 0 / 0
Регистрация: 13.05.2010
Сообщений: 58
14.03.2012, 18:55  [ТС]     char to int не могу не как конвертировать #19
C++
1
2
3
unsigned char ch[4] = { 0x06, 0x4B, 0x00, 0x00 };//длжно быть 19206 
int *header = reinterpret_cast<int *>(&ch[0]);
printf("%i",header);//выдает семизначные значения, совсем нето что надо
что не так делаю?

Добавлено через 28 минут
вот так еще пробовал не получилось

C++
1
2
3
4
5
6
7
8
9
int* x = new int[1];
unsigned char ch[4] = { 0x06, 0x4B, 0x00, 0x00 };//длжно быть 19206 
 
memcpy(&x[0],&ch[0],1);
memcpy(&x[1],&ch[1],1);
memcpy(&x[2],&ch[2],1);
memcpy(&x[3],&ch[3],1);
 
printf("%i",x);//выдает совсем не то
villu
202 / 202 / 4
Регистрация: 06.08.2011
Сообщений: 600
Записей в блоге: 1
14.03.2012, 19:16     char to int не могу не как конвертировать #20
C++
1
printf("%i",*header)
Suroviy
0 / 0 / 0
Регистрация: 13.05.2010
Сообщений: 58
14.03.2012, 21:59  [ТС]     char to int не могу не как конвертировать #21
вот так все работает, спасибо всем за помощь.

C++
1
2
3
4
5
6
unsigned char ch[4] = { 0x06, 0x4B, 0x00, 0x00 };//длжно быть 19206 
int *header = reinterpret_cast<int *>(&ch[0]);
 
int x = *header;
 
printf("%i",x);// ОК
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
14.03.2012, 23:05     char to int не могу не как конвертировать #22
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Suroviy Посмотреть сообщение
выдает семизначные значения, совсем нето что надо
Порядок байтов проверяли?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.03.2012, 23:15     char to int не могу не как конвертировать
Еще ссылки по теме:

Как массив char[4] в int ? - C++
Есть массив из 4х char символов (4-е байта), нужно его перевести в unsigned int. Я сделал втупую: unsigned int B=0; ...

Как преобразовать int в char - C++
Подскажите пожалуйста как преобразовать int в char Есть код к примеру: #include&lt;iostream&gt; using namespace std; int main(){ ...

Как преобразовать Int в char*? - C++
Доброго времени суток. У меня есть переменная int, в которой однозначное число, как его преобразовать в char*?

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


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

Или воспользуйтесь поиском по форуму:
Suroviy
0 / 0 / 0
Регистрация: 13.05.2010
Сообщений: 58
14.03.2012, 23:15  [ТС]     char to int не могу не как конвертировать #23
через memcpy в упор не получаеться писал в разных напровлениях и вперед и назад, это к вопросу опорядке байт, получилось вот так
C++
1
int *header = reinterpret_cast<int *>(&ch[0]);
не знаю на сколько это эфективно, хотелось бы конечно сразу в переменную без укозателей)) но пока делаю через reinterpret_cast.
Yandex
Объявления
14.03.2012, 23:15     char to int не могу не как конвертировать
Ответ Создать тему
Опции темы

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