pasar hexadecimal en string a entero

napo
12 de Marzo del 2006
leo un dato hexadecimal que introduzco por teclado:
scanf("%s",&dato);
lo meto en una cadena para poder comprobarlo, con la función isxdigit(dato), en un bucle for
el tema es que una vez tengo comprobado que es correcto, necesito manejarlo como un entero
la función atoi() va bien si sólo hay números, pero las letras no las coge.
¿hay alguna función?