AnsiString str = "0x01";
char *ch = str.c_str();
BYTE b = BYTE(ch);
Преобразования типов
Пробовал писать так:
Код:
но это скорее всего не правильно.
Подскажите, как правильно преобразовывать, плз
Цитата:
Originally posted by 9byte
Нужно преобразовать переменную из типа String в тип BYTE.
Пробовал писать так:
но это скорее всего не правильно.
Подскажите, как правильно преобразовывать, плз
Нужно преобразовать переменную из типа String в тип BYTE.
Пробовал писать так:
Код:
AnsiString str = "0x01";
char *ch = str.c_str();
BYTE b = BYTE(ch);
char *ch = str.c_str();
BYTE b = BYTE(ch);
но это скорее всего не правильно.
Подскажите, как правильно преобразовывать, плз
Не знаю AnsiString но по идеи должно работать так:
AnsiString str = "0x01";
int numbyte=0;
BYTE b = str[numbyte];
Цитата:
Originally posted by vitaly2003s
Не знаю AnsiString но по идеи должно работать так:
AnsiString str = "0x01";
int numbyte=0;
BYTE b = str[numbyte];
Не знаю AnsiString но по идеи должно работать так:
AnsiString str = "0x01";
int numbyte=0;
BYTE b = str[numbyte];
Не работает. Вызалит ошибка: "Access violation at address 40009720 in module 'rtl60.bpl'. Read of address 60382603" :(
Цитата:
Originally posted by 9byte
Нужно преобразовать переменную из типа String в тип BYTE.
Пробовал писать так:
но это скорее всего не правильно.
Подскажите, как правильно преобразовывать, плз
Нужно преобразовать переменную из типа String в тип BYTE.
Пробовал писать так:
Код:
AnsiString str = "0x01";
char *ch = str.c_str();
BYTE b = BYTE(ch);
char *ch = str.c_str();
BYTE b = BYTE(ch);
но это скорее всего не правильно.
Подскажите, как правильно преобразовывать, плз
Код:
AnsiString str = "0x01";
BYTE b;
sscanf(str.c_str(), "%x", &b);
BYTE b;
sscanf(str.c_str(), "%x", &b);
Цитата:
Originally posted by 9byte
Нужно преобразовать переменную из типа String в тип BYTE.
Пробовал писать так:
но это скорее всего не правильно.
Подскажите, как правильно преобразовывать, плз
Нужно преобразовать переменную из типа String в тип BYTE.
Пробовал писать так:
Код:
AnsiString str = "0x01";
char *ch = str.c_str();
BYTE b = BYTE(ch);
char *ch = str.c_str();
BYTE b = BYTE(ch);
но это скорее всего не правильно.
Подскажите, как правильно преобразовывать, плз
Если подразумевается что str присваивается не последовательность символов '0','x','0','1', то всё правильно, кроме последней строчки
Код:
BYTE b=BYTE(ch[0]);
получим символ '0'.
Если же это число, то неверна первая строчка. Надо писать так:
Код:
AnsiString str = "\x01";
Ему нужно не преобразование типов, а преобразование текстовое представление числа в численное значение.
Т.е. для
AnsiString str = "0x01";
он хочет
BYTE b = 0x01;
В поиск по ключам: преобразование, преобразование строк, и т.п.
Решений множество, от таких нестройных, как привел sp999, до обобщенных, как lexical_cast.