QNX RTP Logo QNX Realtime Platform: Русский Портал QNX
Thursday, 20 Nov 2008 10:42
Меню

Проект OpenNET - все о Unix
Главная

 · Начало · Статистика · Поиск ·

  QNX.ORG.RU —› Языки и алгоритмы —› преобразование типов в С

Посл.ответ Сообщение


Дата: 22 Авг,  15:01

Как можно преобразовать unsigned short в char?


Дата: 22 Авг,  15:30

unsigned short a;
char b;
b = a; // неявно
b = (char) a; // явно


Дата: 22 Авг,  15:33

unsigned short v1=0xAABB;
char v2=0;

v2 = (char) v1;

Вот только с потерей старшего байта все это.. v2=0xBB


Дата: 22 Авг,  15:52

Не получается так просто, компилятор матерится! Я прогаю под QNX на PhAB 1.14 и ломаю голову, как здесь преобразование сделать, чтобы мне потом указатель на char в другую функцию запихнуть, которая выведет его пользователю в окошко!


Дата: 22 Авг,  15:59

мне бы вот какую-нибудь функцию из семейства itoa-подобных или sprintf-подобных, что бы unsigned short в char превращала или хотя бы в int на худой конец. Керниган и Р. мне бы сейчас сказали: сам напиши на си такую функцию, но не умею я с битами работать)


Дата: 22 Авг,  16:29

?????????


Дата: 22 Авг,  16:57

что то я не понял что автор хочет?


Дата: 22 Авг,  20:00

sen
чтобы мне потом указатель на char в другую функцию запихнуть, которая выведет его пользователю в окошко!


void f1(char *ptr)
{
...
}

unsigned short v1=0xAABB;

f1((char *)&v1);
...

???


Дата: 24 Авг,  18:59

Почему-то мне кажется, что Керниган и Р. вам сказали бы нечто другое после прочтения. unsigned shot в qnx имеет длину 2 байта, а char один. при преобразовании вы потеряете старший байт. и биты вам тут не помогут.


Дата: 27 Авг,  16:56

Скорее всего это в программе вообще не нужно.

You must login to post.

©   2000-2003 Команда проекта QNX.ORG.RU // QNX.ORG.RU Team
Авторы проекта: Дмитрий Алексеев [dmi] и Дмитрий Васильев. Техническое сопровождение проекта: Игорь Сорокин [isorokin]. Информационное сопровождение: Дмитрий Алексеев [dmi]
QNX - зарегистрированная торговая марка QNX Software Systems, Ltd., Canada. Остальные упоминаемые на сайте торговые марки и логотипы являются исключительно собственностью их уважаемых владельцев. Ничьи права не затронуты. Материалы сайта не могут быть скопированы и где-либо использованы в той или иной форме без письменного разрешения разработчиков сайта.
Powered by Mambo Open Source