Форум - Ответы     (  К темам )
 ?  Алексей: Как преобразовать данные в hexadecimal формат? (09-02-2003 17:23:47)
Помогите ПОЖАЛУЙСТА!!! Как преобразовать данные в hexadecimal формат?
Например данные типа char или AnsiString.
Я читаю бинарный файл в буфер, и должен в нем найти и сравнить определенные значения которые в шестнадцатеричном формате.

Буду очень благодарен за любой ответ.
 evvUA (10-02-2003 00:01:03)
Так ты разбери АнсиСтринг по частям (с помощью for)и читай каждый символ отдельно. Например:
AnsiString str = "Hello";
str[0] = 'H';
str[1] = 'e';
str[2] = 'l';
str[3] = 'l';
str[4] = 'o';
я могу ошибиться с индексами, но надеюсь суть ты понял. И ещё, каждый символ имеет свой десятичный (16-ричный) эквивалент. Например 'H' == 104 (цифра не точная, т.к. я не помню значение всех букв ASCII).
Ответил в тему?
 Алексей (10-02-2003 03:58:17)
Спасибо, это все понял, а нет ли готовой функции, которая бы могла в один счет преобразовать с одного в другой форматы?
 Andrew (10-02-2003 09:37:41)
Преобразовать ты можешь с помощью добавления к строке символов префикса "0x"
Например:
AnsiString svalue;//Исходная строка
unsigned int ivalue; //Число
for (int i1 = 1; i1 <= value.Length()/4; i1++)
ivalue = StrToInt("0x" + value.SubString(i1*4 - 1, 4));

Но я бы осмелился тебе рекомендовать делать наоборот:
Преобразовать твои значения в строковый вид через IntToHex и искать их встроенными методами AnsiString.
 Petro (10-02-2003 10:41:51)
А накой черт вам AnsiString вообще нужен?
2 Алексей:
Перемещай указатель по своему буферу и просто сравнивай!!! :)
Это же C++ ;)


support@cbuilder.ru