powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как преобразовать каждые 2 байта в AnsiString в 16 формат?
5 сообщений из 5, страница 1 из 1
Как преобразовать каждые 2 байта в AnsiString в 16 формат?
    #33005874
Фотография Serega128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. имеем строку AnsiString вида "df673rty", а мне её надо отобразить как "ff 16 25, e1". Делаю
AnsiString dest;
for(int i=1; i<=s.Length(); i++)
{
dest.sprintf("%02X", s );
v.push_back(dest);
}
но вылазит какой-то бред! Помогите плиз, в чём дело?
...
Рейтинг: 0 / 0
Как преобразовать каждые 2 байта в AnsiString в 16 формат?
    #33006031
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serega128...строку AnsiString вида "df673rty", а мне её надо отобразить как "ff 16 25, e1"...


Хм... не вижу никакой связи между строками. Может озвучишь изначальную постановку?
...
Рейтинг: 0 / 0
Как преобразовать каждые 2 байта в AnsiString в 16 формат?
    #33006321
Фотография Serega128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>mayton

Ну я имею строку вида "df673rty" (так она отображается по ShowMessage), а мне надо получить её в шестнадцатеричном виде.
...
Рейтинг: 0 / 0
Как преобразовать каждые 2 байта в AnsiString в 16 формат?
    #33006336
Фотография Serega128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот пример кода, кому не в лом, проверьте плиз:


vector <AnsiString>v;
AnsiString s = "??\nuuuu(";
AnsiString dest;
for(int i=1; i<=s.Length(); i++)
{
dest.sprintf("%02X", s );
v.push_back(dest);
}

for(int i=0; i<v.size(); i++)
Memo1->Lines->Add(v);

v.clear();

Выведет такое:
FFFFFFFF
FFFFFFFD
0A
75
75
75
75
28

Так вот в выводе смущают FFFFFFFF и FFFFFFFD, должно быть FF и FD.

Это я с модемом по СОМ-порту так работаю.
...
Рейтинг: 0 / 0
Как преобразовать каждые 2 байта в AnsiString в 16 формат?
    #33006494
Фотография Serega128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот! (с)Rius на www.cbuilder.ru


AnsiString source = "яэ";
AnsiString dest;
for(int i=0; i<source.Length(); i++)
{
unsigned char s = source.c_str() ;
dest += IntToHex(s,2) + " ";
}
Caption = dest;
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как преобразовать каждые 2 байта в AnsiString в 16 формат?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]