IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

printf complété avec des 0


Sujet :

C

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 29
    Par défaut printf complété avec des 0
    Salut tout le monde

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int toto=51;
    printf("%04d",toto);
    Ce code affichera 0051.
    Jusque là pas de problème.

    La question que je me pose est la suivante: est-il possible que le nombre de 0 soit variable ?

    Comme par exemple avec le code suivant où il faudrait changer la valeur de n pour changer le nombre de 0 (je sais que ce code ne marche pas, c'est juste pour illustrer mon idée)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int toto=51;
    int n=4;
    printf("%0nd",toto);
    Merci d'avance.

  2. #2
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Milowen
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int toto=51;
    printf("%04d",toto);
    Ce code affichera 0051.
    <...> est-il possible que le nombre de 0 soit variable ?
    Oui, avec '*' :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    #include <stdio.h>
     
    int main (void)
    {
       int x = 51;
     
       printf ("%04d\n", x);
       printf ("%0*d\n", 4, x);
       printf ("%0*d\n", 8, x);
     
       return 0;
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    0051
    0051
    00000051
     
    Press ENTER to continue.
    C'est pas de la magie, c'est écrit dans la doc...

    http://man.developpez.com/

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 29
    Par défaut
    Merci beaucoup, c'est exactement ce que je souhaitais.
    J'ai effectué plusieurs recherches sur google et dans les faq sans succès (je ne poste jamais bêtement sans recherches préalables )
    Je ne connaissais pas l'existence de ces pages de manuels.

    Merci beaucoup.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Vérifier si des champs sont complétés avec des chiffres
    Par AlexandraBr dans le forum Général JavaScript
    Réponses: 28
    Dernier message: 30/09/2014, 01h14
  2. Zone de texte nchar(20) complétée avec des blanks
    Par nefal dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/10/2009, 12h45
  3. Réponses: 4
    Dernier message: 30/06/2008, 16h18
  4. printf completer avec des espaces
    Par cerede2000 dans le forum C
    Réponses: 3
    Dernier message: 01/05/2008, 11h16
  5. [C] un petit heisenbug avec des printfs
    Par Mouquiette dans le forum Windows
    Réponses: 2
    Dernier message: 17/03/2008, 09h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo