[C] Lez '0' ne s'affichent pas

Résolu/Fermé
ilan27 Messages postés 394 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 15 juin 2009 - 17 janv. 2008 à 21:45
ilan27 Messages postés 394 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 15 juin 2009 - 17 janv. 2008 à 22:28
Bonsoir,
Lorsque j'écris dans un fichier un nombre en héxadécimal (avec la fonction fprintf), les zéros qui précèdent le nombre ne s'affichent pas, ils sont ignorés. Or moi je veux qu'ils apparaissent. On m'a dit de faire préceder le x de '0' ainsi: %0x, mais ils ne s'affichent toujours pas.
Voici comment je voudrais afficher/ecrire un code précédé de plusieurs zéros qui ne s'affichent pas:
fprintf(cpy, "%0x\n", code);

EX: au lieu d'avoir 006548a5 j'ai 6548a5...

Merci de me dire comment faire!

2 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
17 janv. 2008 à 22:24
Salut,
Ton drapeau était correct, mais il manque encore un chiffre :
fprintf(cpy, "%05x\n", code); //affichera des 0 devant "code" de sorte à avoir 5 caractères.

Cordialement
0
ilan27 Messages postés 394 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 15 juin 2009 36
17 janv. 2008 à 22:28
C'est très clair, et ça marche impeccable!
T'es un as, merci :)
0