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

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

Войти
Регистрация
Восстановить пароль
 
nefton
44 / 20 / 5
Регистрация: 28.02.2013
Сообщений: 187
#1

Надо указателю на long int присвоить значение указателя на char - C++

20.03.2013, 13:04. Просмотров 721. Ответов 5
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
//есть указатель 
unsigned char* p_to_char = somthing;
 
//и указатель 
unsigned long int* p_to_int;
 
//надо p_to_int присвоить значение p_to_char;
 
p_to_int = p_to_char
Компилятор пишет ошибку и что неможет никак. Справедливо, но надо.
Физически то это без проблем.

У меня есть массив в памяти (картинка RGB+A). И есть указатель на её начало типа char*
Тоесть пиксель представляет собой 4 байта последовательно в памяти.
Мне надо проверить является ли пиксель таким то. Притом надо это быстро.

Толи мне проверять каждый байт отдельно и применять сложную логическую конструкцию И к 4м байтам.
Толи у меня будет число 4 байта и я применю к нему просто XOR
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.03.2013, 13:04     Надо указателю на long int присвоить значение указателя на char
Посмотрите здесь:

Создать объединение, что содержит элементы типов char int short fload long string C++
C++ long long int и его поведение в структуре
Присвоение указателю на char значения int C++
Не получается присвоить значение указателя в функции C++
Преобразование указателя из char в int и double C++
C++ Присвоить Указателю адрес из массива Char
C++ Не получается присвоить значение указателю на функцию
ПРисвоить указателю нулевое значение- кк? с поммощщю каких знаков и действий? C++
C++ Присвоить переменной Char значение третьего байта переменно типа Int
Char, short, int, long: какой тип выбрать? C++
Присвоить указателю значение, пример из интернета C++
Как присвоить указателю значение другого указателя внутри процедуры? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Герц
523 / 340 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
20.03.2013, 13:06     Надо указателю на long int присвоить значение указателя на char #2
C++
1
reinterpret_cast<unsigned long int*>(p_to_char)
Учи матчасть.
P.S. Если работаешь непосредственно с байтами, лучше использовать типы, определенные в cstdint и гарантирующие заданный размер, в твоем случае uint8_t и uint32_t.
Никто не гарантирует, что unsigned long int будет 4 байта, а не 8.
nefton
44 / 20 / 5
Регистрация: 28.02.2013
Сообщений: 187
20.03.2013, 13:13  [ТС]     Надо указателю на long int присвоить значение указателя на char #3
О господи, в С и такое есть Спасибо.
Kastaneda
Форумчанин
Эксперт С++
 Аватар для Kastaneda
4253 / 2785 / 219
Регистрация: 12.12.2009
Сообщений: 7,109
Записей в блоге: 1
Завершенные тесты: 1
20.03.2013, 13:23     Надо указателю на long int присвоить значение указателя на char #4
Цитата Сообщение от nefton Посмотреть сообщение
О господи, в С и такое есть
Возможно удивлю, но в С такого нет
qaz0
0 / 0 / 0
Регистрация: 27.02.2013
Сообщений: 8
20.03.2013, 13:28     Надо указателю на long int присвоить значение указателя на char #5
Еще вариант для рассмотрения :
C++
1
2
3
4
5
union VSunion
{
    unsigned long int VSint;
    unsigned char VSchar[sizeof(unsigned long int)];
};
Вдруг подойдет


Кстати, на замечание о размерности int и использовании uint32_t на самом деле следует обратить внимание.
Герц
523 / 340 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
20.03.2013, 13:35     Надо указателю на long int присвоить значение указателя на char #6
В C обычный каст (uint32_t*)p_to_char, но мы то в разделе C++.
Yandex
Объявления
20.03.2013, 13:35     Надо указателю на long int присвоить значение указателя на char
Ответ Создать тему
Опции темы

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