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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
kravam
быдлокодер
1695 / 882 / 45
Регистрация: 04.06.2008
Сообщений: 5,459
#1

синтаксис указателя на unsigned char - C++

05.09.2010, 18:39. Просмотров 1381. Ответов 9
Метки нет (Все метки)

РЕбята, не могу сообразить. Смотрите, этот код компилится:

C++
1
2
 char* array [10];
 array [0]= "dddddddddd";
Теперь нулевой элемент массива array будет содержать адрес строки "dddddddddd"
НО как быть,если символы типа unsigned char, например?

C++
1
2
 unsigned char* array [10];
 array [0]= {0X45, 0X56};

Вот слабое место. Я никак не могу присвоить array [0] адрес массива {0X45, 0X56}!
Помогите пожалуйста. Спасибо.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.09.2010, 18:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос синтаксис указателя на unsigned char (C++):

Приведение типов unsigned char[2] to unsigned char [64] - C++
Добрый день! Подскажите пожалуйста, как поступить. Есть простая функция main int main() { SHA1Context sha; uint8_t...

Сделать преобразование unsigned char в char, а затем типу int - C++
Здраствуйте, есть вопрос: Число представлено двумя полями: типа long для рублей и unsigned char - для копеек. Собственно что мне...

Std::fstream почему функция write принимает параметр char* а не unsigned char* (аля byte*) ? - C++
Ну собственно сабж... std::fstream fs; fs.write((char*)..) В случае бинарного потока я допустим пишу байты функцией write, как...

Неверная конверсия из char* в unsigned char* - C++
Здравствуйте. Почему-то ловлю ошибку, гласящую о том, что не удалась конверсия из char* в *unsigned char*. Не понимаю, почему она вылазит?...

Совместимость char и unsigned char - C++
Есть некие числа в виде unsigned char. Есть строка в виде массива char (которая потом сбрасывается в файл с помощью fputs). В программе...

Unsigned char * в char * и наоборот - C++
Здравствуйте!помогите перевести unsigned char * в char * и наоборот без использования printf

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Darky
Быдлокодер
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
05.09.2010, 18:44 #2
Есть необходимость применения именно этого типа данных? Насколько я знаю, объявление указателя конкретно для unsigned char ничем не отличается от других
0
kravam
быдлокодер
1695 / 882 / 45
Регистрация: 04.06.2008
Сообщений: 5,459
05.09.2010, 18:50  [ТС] #3
Надо именно unsigned char, работаю с байтами от 0 до ff. Не компилится.
0
Хохол
Эксперт C++
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
05.09.2010, 18:52 #4
C++
1
2
3
unsigned char* array [10];
unsigned char b[] = {0X45, 0X56};
array [0] = b;
Так работает.
0
Kastaneda
Форумчанин
Эксперт С++
4653 / 2862 / 228
Регистрация: 12.12.2009
Сообщений: 7,271
Записей в блоге: 2
Завершенные тесты: 1
05.09.2010, 18:57 #5
Цитата Сообщение от kravam Посмотреть сообщение
C++
1
2
 unsigned char* array [10];
 array [0]= {0X45, 0X56};
Может так:
C++
1
2
3
 unsigned char* array [10];
unsigned char x=0X45;
 array [0]=&x;
0
kravam
быдлокодер
1695 / 882 / 45
Регистрация: 04.06.2008
Сообщений: 5,459
05.09.2010, 19:00  [ТС] #6
Спасибо, если больше никто ничё не предложит, так и буду делать. Жаль, если не обойтись без промежуточного массива. ВСя-о досада в том, что надо будет несколько раз писаь так:
C++
1
2
3
4
5
6
7
8
9
10
unsigned char b_0[] = {0X45, 0X56};
 
 
unsigned char b_1[] = {0X45, 0X56};
 
 
unsigned char b_2[] = {0X45, 0X56};
 
 
unsigned char b_3[] = {0X45, 0X56};
А потом так:
C++
1
2
3
4
5
a [0]= b_0;
 
a [1]= b_1;
 
a [2]= b_2;
Вторая писанина планировалась ранее, в первая нет.
0
Nick Alte
Эксперт С++
1637 / 1009 / 119
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
05.09.2010, 19:06 #7
C++
1
2
3
unsigned char* array [10];
array[0] = "dddddddddd";
array[1] = "\x45\x46";
0
kravam
быдлокодер
1695 / 882 / 45
Регистрация: 04.06.2008
Сообщений: 5,459
05.09.2010, 19:52  [ТС] #8
Чё-то не то, или у меня компиляторо gcc не компилит .
0
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
06.09.2010, 09:49 #9
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <stdlib.h>
 
int main(void)
{
    unsigned char *p[10];
    
    p[0] = (unsigned char *) "abcd";
    p[1] = (unsigned char *) "\xFF\xFF";
    
    printf("%s %s" "\n", p[0], p[1]);
    
    printf("%d %d" "\n", p[1][0], p[1][1]);
    
    return EXIT_SUCCESS;
}
0
kravam
быдлокодер
1695 / 882 / 45
Регистрация: 04.06.2008
Сообщений: 5,459
06.09.2010, 11:31  [ТС] #10
другой коленкор
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.09.2010, 11:31
Привет! Вот еще темы с ответами:

const char и unsigned char - C++
Всем привет. Такое дело. Это даже проблемой не назовешь, но суть такая. Мне нужно записать const char в unsigned char через конструктор...

Типы данных - где нужно использовать char, а где unsigned char? - C++
Всем привет! У меня вопрос, искал ответ на него, но безуспешно. Вопрос следующий: есть два типа char и unsigned char. Я понимаю, что в...

Unsigned char to string - C++
Привет всем. У меня полная непонятица unsigned char c = '1'; std::string ass((char*)c); Unhandled exception at 0x012655D1 in...

Hex в unsigned char - C++
Здравствуйте! У меня есть одна проблема, которую не могу решить, ну вот, у меня есть файл в нем hex строка, такого вида: 68 65 6c 6c 6f...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
06.09.2010, 11:31
Ответ Создать тему
Опции темы

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