Из AnsiString в HEX
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Из AnsiString в HEX - 2011-04-18 23:38:16.356666
|
|
|
ZETER
Сообщений: 127
Оценки: 0
Присоединился: 2010-01-18 21:11:03.490000
|
Всем привет у меня такой вопрос у меня дана строка Stroka = " 000003F1" мне надо преобразовать ее в массив чаров вот такого вида CharStr ='\x00','\x00','\x03','\xF1'; у кого какие соображения?
|
|
|
RE: Из AnsiString в HEX - 2011-04-19 01:27:43.496666
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
http://www.cplusplus.com/reference/clibrary/cstdio/sprintf/
|
|
|
RE: Из AnsiString в HEX - 2011-04-20 21:44:51.636666
|
|
|
ZETER
Сообщений: 127
Оценки: 0
Присоединился: 2010-01-18 21:11:03.490000
|
Что то у меня не получилось с помощью етой функции сделать . Мне то надо два символа в HEX из AnsiStringa в один символ char.
|
|
|
RE: Из AnsiString в HEX - 2011-04-21 13:21:14.890000
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Пока не видно, что ты вообще что-то пробовал сделать…
|
|
|
RE: Из AnsiString в HEX - 2011-04-21 14:09:40.656666
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Ладно, держи:
#include <stdio.h>
static int char2digit( char c )
{
if ( c >= '0' && c <= '9' )
return c - '0';
if ( c >= 'a' && c <= 'f' )
return c - 'a' + 10;
if ( c >= 'A' && c <= 'F' )
return c - 'A' + 10;
return 0;
}
void convert( const char *src, char *dest )
{
const char *pin = src;
char *pout = dest;
while ( *pin )
{
*dest = ( char2digit( *pin ) << 4 ) | char2digit( *(pin + 1) );
pin += 2;
dest += 1;
}
}
int main( void )
{
char src[] = "000003F1";
char dest[ sizeof( src ) / 2 ];
int i;
convert( src, dest );
for ( i = 0; i < 4; i++ )
printf( "\'\\x%s%x\' ", ( (dest[i] < 10) ? "0" : "" ) ,(unsigned char)dest[i] );
return 0;
}
|
|
|
RE: Из AnsiString в HEX - 2011-04-22 20:52:30.026666
|
|
|
ZETER
Сообщений: 127
Оценки: 0
Присоединился: 2010-01-18 21:11:03.490000
|
Спасибо )) хоть я и не стал делать так как было в примере который ты мне скинул что то меня на него не проперло я по другому сделал брал по из ansistring по 2 символа переводил в integer и прибавлял просто к пустому char символу и все получалось ) но все равно спасибо))))
|
|
|
|
|