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 :

Affichage en colonne dans la console


Sujet :

C

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 49
    Points : 37
    Points
    37
    Par défaut Affichage en colonne dans la console
    Bonjour à tous,

    je souhaite afficher dans mon programme en C 3 colonnes successives qui affichent :

    ANNEE MOIS JOURS

    2009 DECEMBRE 15
    1995 AOUT 20
    2001 JANVIER 13

    Mais dans ma boucle je fais un printf de chaque argument, le problème vient de l'alignement..Selon la longueur du mois, cela se trouve décalé.

    J'aimerais afficher cela un peu comme un tableau sans bordure...

    Ce n'est peut-être pas qu'un problème de language C mais je ne vois pas comment faire ?

    Quelqu'un a une idée ?


    Merci d'avance.

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 370
    Points : 23 625
    Points
    23 625
    Par défaut
    Bonsoir,

    Avec printf(), tu peux spécifier la largeur des chaînes comme celles des nombres. Un :


    ... écrira ton mois dans un champ de 9 caractères quelque soit la chaîne à afficher, pourvu que sa taille n'excède pas celle du champ.

    Attention toutefois aux différentes implémentations et aux caractères spéciaux. Si tu utilises de l'UTF-8 et que mets les accents à « février », « août » et « décembre », chaque lettre accentuée peut compter pour deux caractères au lieu d'un, et casser ta mise en page.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 49
    Points : 37
    Points
    37
    Par défaut
    ah super je ne connaissais pas merci à toi ! je test tout ça.

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 370
    Points : 23 625
    Points
    23 625
    Par défaut
    Citation Envoyé par cyberps2 Voir le message
    Je test tout ça.
    N'oublie pas quand tu auras tout bien testé ! :-)

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 49
    Points : 37
    Points
    37
    Par défaut
    Bonjour,

    comment faire si je ne connais pas à l'avance la longueur du mot?

    Y a-t-il possibilité de faire varier le chiffre dans le printf

    En supposant que j'ai longueur souhaitée dans une variable ?


    Merci.

  6. #6
    Membre éprouvé Avatar de orfix
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 707
    Points : 1 132
    Points
    1 132
    Par défaut
    Oui biensûr !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    int largeur;
    <...>
    printf ("%*s",largeur,mois);
    To start press any key. (reading screen) Where's the "any" key? I see Esc, Catarl, and Pig Up. There doesn't seem to be any "any" key. Wo! All this computer hacking is making me thirsty. I think I'll order a Tab. (presses TAB key). -- HOMER --

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 49
    Points : 37
    Points
    37
    Par défaut
    merci ça marche

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 28/05/2008, 10h45
  2. Problème d'affichage de colonnes dans un listview
    Par claireP23 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 12/06/2007, 16h30
  3. Affichage caractères unicodes dans la console
    Par boss_gama dans le forum C++
    Réponses: 18
    Dernier message: 05/03/2007, 18h27
  4. [log4J] affichage des log4J dans la console (texte bleu)
    Par lalie.perso dans le forum Logging
    Réponses: 1
    Dernier message: 13/04/2006, 13h52
  5. [TOMCAT][LOGS]pas d'affichage de trace dans la console
    Par fabszn dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 23/08/2005, 02h28

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