C force printf pour hexadecimal

Salut!
Est-ce que quelqu'un connait le bon format pour afficher les hexadecimals du forme 0x00. %#x affiche 0 au lieu de 0x00 ainsi de suite. je veux forcer l'affichage pour les reutiliser en bitmap.

merci..

peace

5 réponses

  1. meuh non, encore tard mais il y a mieux quand même :

    printf( "0x%08.8X", i);

    va t'afficher 0x suivi de la valeur avec une string de 8 sur 8 remplie avec des 0.
    un des 8 dit au moins 8 et l'autre pas plus de 8.
    ça marche aussi avec 4 ou une autre longueur.
    1. essayer aussi cela printf( "%#08.8X", c); le # devrait ajouter le 0X ou 0x devant.
      1. c en fait ce que je fiat mais j'esperais de trouver une solution ad hoc..
        tant mieux...

        merci bcp....
        1. tu vas être obligé de faire le traitement toi même
          par exemple remplacer A par 0A
          (if(value<16) ... traitement)

          de toutes façons, tu peux faire printf("0%x",value);
          si tu tiens à rajouter un 0 avant.
          j'avais oublié:
          %X pour afficher en majuscules
          %x '' en minuscules

          A+
          ¤
          1. voilà la bonne syntaxe
            int  z=160;
            printf("%x",z);
            

            cordialement
            ¤
            1. oui mais avec %x, les zero et les int (short) s'affichent du facon normal!
              j'ai besoin d'une format precise : 0x00 pour les zero et 0x0t pout les int (t)...

              merci poura ta reponse