[ mladenvasic @ 09.04.2005. 19:10 ] @
Pozdrav svima. Moze li mi neko napisati kompletan kod konverzije broja (int64) u heksadecimalni ekvivalent i obrnuto. U MSDN-u od Visual Studia vec postoji konverzija int64 u hex npr.

int64 i = 1234567890;
char buffer[10];
_i64toa(i,buffer,16)

ali kako da vrijednost buffer-a (heksadecimalnu vrijednost) ponovo vratim u int64 odnosno 1234567890

Ako moze da mi neko hitno odgovori ....
HVALA ...
[ X Files @ 09.04.2005. 20:38 ] @
Nisam siguran da ovo radi ali evo pa probaj:

unsigned __int64 HexToInt( const char *hexstring )
{
unsigned __int64 veliki;

const char *kopija;
kopija = hexstring;

if ( *kopija == '\0' )
return 0;

veliki = 0;

while ( *kopija != '\0' )
{
if ( !isxdigit( (int)*kopija) )
return 0;

veliki <<= 4;

if ( *kopija <= '9' )
veliki += *kopija++ - '0';
else if ( *kopija >= 'a' )
veliki += *kopija++ - 'a' + 10;
else
veliki += *kopija++ - 'A' + 10;
}

return ( veliki );
}

void __fastcall TForm1::Button1Click(TObject *Sender)
{
ShowMessage( HexToInt( "fffffffffffffffff" ) );
}

void __fastcall TForm1::Button2Click(TObject *Sender)
{
__int64 i = 18446744073709551615;
char buffer[10];
_i64toa( i, buffer, 16 );

ShowMessage( buffer );
}
[ Mihajlo Cvetanović @ 11.04.2005. 09:44 ] @
Zar ne postoji _atoi64? Mada ja sam uvek pre za sscanf varijantu


if ( sscanf( buffer, "%I64d", &amp;i ) == 1 )

{

// imas broj

}