Hola,

Necesito leer un valor de una variable como hexadecimal, y guardarlo en otra, pongo el codigo y quiza con eso quede mas claro.

Tengo esto:
buffer es un arreglo de caracteres y aux tambien

buffer = atoi(aux);

Un ejemplo: atoi(aux) me regresa 40 entonces yo quiero que el valor 40 sea el que se guarde en el buffer, pero en lugar de eso se guardar 28 (que es el equivalente a 40 en hexadecimal).

Yo se que si quisiera guardar el 40 como valor haria esto buffer = 0x40;, pero como se hace que haga eso tomando el valor desde una variable???

Espero me puedan ayudar desde ya muchisimas gracias.

Realmente necesito esto, y no se me ocurre una forma he probado con sprintf(aux2,"%X",atoi(aux)); pero me sigue guardando el 28 :(.

Esto es un sitio de habla inglesa

Cerrado. No fije la misma pregunta en foros múltiples.

buffer es un número entero. No es necesario diferenciar entre decimal y hexadecimal que se imprima el valor:
buffer[i] is an integer. You don't need to differentiate between decimal and hexadecimal until the value is printed:

buffer[i] = atoi ( aux );

/* La única diferencia es cómo buffer [i] se muestra */
/* The only difference is how buffer[i] is displayed */
printf ( "%d\n", buffer[i] );
printf ( "%x\n", buffer[i] );
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.