ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Закрытая тема
 
Опции темы Поиск в этой теме Опции просмотра

Конвертировать Hex-String в Char [ C++ ]
  #1  
Старый 12.07.2007, 18:59
Аватар для GlOFF
GlOFF
Постоянный
Регистрация: 08.05.2006
Сообщений: 816
Провел на форуме:
1845671

Репутация: 1338


Question Конвертировать Hex-String в Char [ C++ ]

Имеется,к примеру, следующая строка:
String A = "2D";
Как превратить это в unsigned char, т.е. чтобы получить:
unsigned char B = 0x2D;

В общем из текста "2D" получить число 0x2D , Подскажите плз

Последний раз редактировалось xqwerx; 12.07.2007 в 19:45..
 

  #2  
Старый 12.07.2007, 19:39
Аватар для Ni0x
Ni0x
Постоянный
Регистрация: 27.08.2006
Сообщений: 367
Провел на форуме:
2009677

Репутация: 472
По умолчанию

>>В общем из текста "2D" получить число 0x2D
функция atoi() тебе в помощь
 

  #3  
Старый 12.07.2007, 19:46
Аватар для GlOFF
GlOFF
Постоянный
Регистрация: 08.05.2006
Сообщений: 816
Провел на форуме:
1845671

Репутация: 1338


По умолчанию

Ni0x Дай примерчик! На Builder C++ будет работать?
 

  #4  
Старый 12.07.2007, 19:52
Аватар для NetMan
NetMan
Участник форума
Регистрация: 09.02.2004
Сообщений: 122
Провел на форуме:
1089794

Репутация: 134
По умолчанию

 

  #5  
Старый 12.07.2007, 20:04
Аватар для GlOFF
GlOFF
Постоянный
Регистрация: 08.05.2006
Сообщений: 816
Провел на форуме:
1845671

Репутация: 1338


По умолчанию

NetMan - Немного не то!
Ni0x - atoi() - это AnsiString To Integer ?

String A = "2D";
unsigned char B = atoi(A);

Дает нулевой результат в unsigned char B!
Если же взять строку "22" к примеру, то в получим в unsigned char B 0x16 , а не 0x22 как хотелось бы...
 

  #6  
Старый 12.07.2007, 20:16
Аватар для NetMan
NetMan
Участник форума
Регистрация: 09.02.2004
Сообщений: 122
Провел на форуме:
1089794

Репутация: 134
По умолчанию

Смотри здесь, правда тебе придётся немножко переделать.
 

  #7  
Старый 12.07.2007, 20:20
Аватар для GlOFF
GlOFF
Постоянный
Регистрация: 08.05.2006
Сообщений: 816
Провел на форуме:
1845671

Репутация: 1338


Unhappy

NetMan спасибо ! Я так не хотел отдельную функцию писать

Мне что-то не вериться, что С++ такой богатый и функциональный язык, а такой казалось бы простой процедуры конвертации как-то выходит и нет
 

  #8  
Старый 12.07.2007, 20:39
Аватар для Ni0x
Ni0x
Постоянный
Регистрация: 27.08.2006
Сообщений: 367
Провел на форуме:
2009677

Репутация: 472
По умолчанию

Цитата:
Ni0x - atoi() - это AnsiString To Integer ?
Это для конвертации char, в сишном рантайме есть целый набор функций для конверта разных типов данных.
Цитата:
String A = "2D";
unsigned char B = atoi(A);
дело в том что string тип данных из std(библиотека заточена под С++), а atoi() предназначена для работы с char. Для определения строк лучше используй в зависимости от случая:
char *str="antichat";
char str[]="antichat";
а string не рулит
 

  #9  
Старый 12.07.2007, 20:41
Аватар для _Great_
_Great_
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме:
5339610

Репутация: 4360


Отправить сообщение для _Great_ с помощью ICQ
По умолчанию

sscanf юзай:

string hex = "0x22";
unsigned char byte;

sscanf( hex.c_str(), "0x%x", &byte);

// теперь byte = 0x22
 

  #10  
Старый 12.07.2007, 20:53
Аватар для NetMan
NetMan
Участник форума
Регистрация: 09.02.2004
Сообщений: 122
Провел на форуме:
1089794

Репутация: 134
По умолчанию

Можно заюзать функцию strtol:
Код:
   string str = "2A";
   char *endptr;
   unsigned char lnumber;

   lnumber = strtol(str.c_str(), &endptr, 16);
   printf("string = %s  long = %x\n", str.c_str(), lnumber);
 
Закрытая тема



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Посимвольный перебор в базах данных на примере MySQL LoFFi Чужие Статьи 5 30.04.2007 05:05
Кодинг(брут) ...ъХ... PHP, PERL, MySQL, JavaScript 12 11.04.2006 02:10
Компиляторы Dimann С/С++, C#, Delphi, .NET, Asm 34 20.03.2006 21:23
софт для удаленного сервера _lolik_ Уязвимости 6 05.02.2006 10:58



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ