Cambie el bit del número hexadecimal con ceros iniciales en C ++, (C)

Tengo este número en cadena hexadecimal:

002A05.

Necesito establecer el 7º bit de este número en 1, así que después de la conversión obtendré

022A05

Pero tiene que trabajar con cada número hexadecimal de 6 caracteres.

Intenté convertir una cadena hexadecimal en un entero a través de strtol, pero esa función elimina los ceros.

Por favor, ayúdame, ¿cómo puedo resolverlo?

Respuestas a la pregunta(4)

Su respuesta a la pregunta