Nisam najbolje razumeo sta zelis da uradis s nizom karaktera koji sadrzi pretpostavljene hex vrednosti.
Da li zelis da parove hex karaktera pretvaras u dekadne brojeve ili nesto drugo? Ako je to u pitanju, puno je nacina kako ovo mozes realizovati.
U principu, ako se odlucis da ne koristis nikakve gotove funkcije, mozes da citas "dva po dva" karaktera i koristis se formulom BROJ x BAZA
POZICIJA. E sad posto se radi o samo dva karaktera, dovoljno je: LEVI_KARAKTER*16+DESNI_KARAKTER:
// NETESTIRANO !!!
Code:
#include <stdio.h>
#include <stdlib.h>
short hex2int(char ch)
{
if (ch >= 97) ch -= (97 - 10);
if (ch >= 65) ch -= (65 - 10);
if (ch >= 48) ch -= 48;
return ch;
}
int main(void)
{
int i, broj;
char* temp="B24C00112233445566778899AABBCCDDEEFF1020304050607080";
for (i=0; i<strlen(temp)-1; i+=2)
{
broj = hex2int(temp[i])*16 + hex2int(temp[i+1]);
printf("%d\n", broj);
}
}
[Ovu poruku je menjao X Files dana 11.03.2011. u 22:04 GMT+1]