The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Проблемма с побайтовым printf"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Проблемма с побайтовым printf"  
Сообщение от geragray email(ok) on 07-Дек-07, 17:22 
Есть массив packet->payload, из него нужно откусить 2 байта и вывести в консоль. Значение соответсвующих байтов в массиве 0x974b. Код следующий

char trID[2];
            
trID[0] = packet->payload[32];
trID[1] = packet->payload[33];
                                                
printf("transactionID is: %x\n",trID[0]);
printf("transactionID is: %x\n",trID[1]);
printf("transactionID is: %x\n",trID);

Результат:
transactionID is: ffffff97
transactionID is: 4b
transactionID is: bf93bfea

Никто не знает почему в последнем случае когда консоли должно появится 0х974в я получаю там 4х байтную фигню?

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Проблемма с побайтовым printf"  
Сообщение от anonymous (??) on 07-Дек-07, 22:04 
>Никто не знает почему в последнем случае когда консоли должно появится 0х974в
>я получаю там 4х байтную фигню?

С какой стати там будет 0x97? просто trID -- это адрес!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Проблемма с побайтовым printf"  
Сообщение от DeadMustdie email(??) on 09-Дек-07, 16:00 
>printf("transactionID is: %x\n",trID[0]);

printf("transactionID is: %x\n", (int)(trID[0]));

и т.п.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Проблемма с побайтовым printf"  
Сообщение от Michelnok (??) on 14-Дек-07, 16:42 
>>printf("transactionID is: %x\n",trID[0]);
>
>printf("transactionID is: %x\n", (int)(trID[0]));
>
>и т.п.

либо

printf("transactionID is: %hhx\n", trID[0]);

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Проблемма с побайтовым printf"  
Сообщение от Mr.Link (ok) on 21-Дек-07, 11:28 
>[оверквотинг удален]
>printf("transactionID is: %x\n",trID[1]);
>printf("transactionID is: %x\n",trID);
>
>Результат:
>transactionID is: ffffff97
>transactionID is: 4b
>transactionID is: bf93bfea
>
>Никто не знает почему в последнем случае когда консоли должно появится 0х974в
>я получаю там 4х байтную фигню?

Определи trID[2] как unsigned

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру