![]() |
Конвертировать Hex-String в Char [ C++ ]
Имеется,к примеру, следующая строка:
String A = "2D"; Как превратить это в unsigned char, т.е. чтобы получить: unsigned char B = 0x2D; В общем из текста "2D" получить число 0x2D , Подскажите плз :) |
>>В общем из текста "2D" получить число 0x2D
функция atoi() тебе в помощь |
Ni0x Дай примерчик! На Builder C++ будет работать?
|
|
NetMan - Немного не то!
Ni0x - atoi() - это AnsiString To Integer ? String A = "2D"; unsigned char B = atoi(A); Дает нулевой результат в unsigned char B! Если же взять строку "22" к примеру, то в получим в unsigned char B 0x16 , а не 0x22 как хотелось бы... |
Смотри здесь, правда тебе придётся немножко переделать.
|
NetMan спасибо ;)! Я так не хотел отдельную функцию писать :(
Мне что-то не вериться, что С++ такой богатый и функциональный язык, а такой казалось бы простой процедуры конвертации как-то выходит и нет :confused: |
Цитата:
Цитата:
char *str="antichat"; char str[]="antichat"; а string не рулит ;) |
sscanf юзай:
string hex = "0x22"; unsigned char byte; sscanf( hex.c_str(), "0x%x", &byte); // теперь byte = 0x22 |
Можно заюзать функцию strtol:
Код:
string str = "2A"; |
| Время: 18:18 |