Bertel Brander wrote:
> Repzak wrote:
>
>> Hey
>>
>> Nogle der hurtigt kan fortælle mig hvordan jeg laver denne sætning
>> bare uden den venter på en CR eller NULL, da den ikke kommer pga det
>> er i en Buffer jeg bruger den :
>>
>> sscanf(E_VAL(2),"%4X",&value);
>>
>> jeg skal bare læse en int. værdi der står i en string som hex.
>>
>
> value = (int )strtol(MyString, 0, 16);
>
Eller hvis man ikke vil have 0 terminering & det er 4 tegn
& man ikke gider checke for fejl:
#include <stdio.h>
int main()
{
char T[] = "0x12aF", *s;
int i = 0;
for(s = &T[2]; s != &T[6]; s++)
{
i *= 16;
i += *s >= '0' && *s <= '9' ? *s - '0' :
*s >= 'A' && *s <= 'F' ? *s - 'A' + 10 : *s - 'a' + 10;
}
printf("Result: %X %d\n", i, i);
return 0;
}
--
Absolutely not the best homepage on the net:
http://home20.inet.tele.dk/midgaard
But it's mine - Bertel