crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> использование ntohs в Qt под линух
dimon11782
  опции профиля:
сообщение 7.5.2010, 20:03
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 27
Регистрация: 13.4.2010
Пользователь №: 1628

Спасибо сказали: 0 раз(а)




Репутация:   0  


считал из сетевого буфера данные – допустим одно значение типа unsigned short = 0xFF35:
могу обращаться (считать значение) к его байтам:

char *buf[100];

*((unsigned char*)&buf)
*((unsigned char*)&buf+1)


Мне надо перевернуть данное число (0xFF35) – хочу воспользоваться функцией ntohs…
Но как мне корректно задать параметр у этой функции? Само число я не имею, а имею только адреса ячеек памяти, где оно лежит – то есть надо как-то “сложить” его 2 разряда (см. код выше) и взять от этого дела ntohs…Как это сделать? И желательно получить (оставить) это число в 16-ричной системе счисления - в итоге должно получиться 0x35FF…
И вообще – в линуксе (пишу под Qt 4.6) есть функции ntohl, ntohs??? какой у них инклудник?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
igor_bogomolov
  опции профиля:
сообщение 11.5.2010, 8:37
Сообщение #2


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Цитата(dimon11782)
у меня нет числа целиком, а еcть только адрес расположения его байтов...как быть?

int atoi ( const char * str );
long int atol ( const char * str );
double atof ( const char * str );

long int strtol ( const char * str, char ** endptr, int base );
unsigned long int strtoul ( const char * str, char ** endptr, int base );
double strtod ( const char * str, char ** endptr );

boost::lexical_cast
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


11 чел. читают эту тему (гостей: 11, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 1.12.2024, 21:09