langage c: spécificateurs de format
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

langage c: spécificateurs de format



  1. #1
    SJK

    langage c: spécificateurs de format


    ------

    Bonsoir,
    est ce que quelqu'un peut m'expliquer ce que signifie ces 2 expression: %*d et %*.*f ???
    MERCI d'avance.

    -----

  2. #2
    Jack
    Modérateur

    Re : langage c: spécificateurs de format

    les * sont utilisées telles quelles dans la chaîne de formatage ou doivent être remplacées par des chiffres?

  3. #3
    SJK

    Re : langage c: spécificateurs de format

    Citation Envoyé par Jack Voir le message
    les * sont utilisées telles quelles dans la chaîne de formatage ou doivent être remplacées par des chiffres?
    non ,utilisé telles quelles,d'ailleurs je les ai tester avec code block mais je n'arrive pas à donner un sens au résultat.^^

  4. #4
    Jack
    Modérateur

    Re : langage c: spécificateurs de format

    Où as-tu trouvé ces spécificateurs?

  5. A voir en vidéo sur Futura
  6. #5
    lou_ibmix_xi

    Re : langage c: spécificateurs de format

    C'est le nombre de "digits" à afficher, qui doit être préciser par un argument entier, par exemple:
    Code:
    printf ("pi = %*.*f\n", 4, 4, 355.0/113.0);
    A vérifier mais je crois me rappeler que ce n'est pas intuitif (ce n'est pas le nb de chiffres avant / après la virgule), le premier '*' avant le '.' est le nb total de caractères (point et 'e' inclus), le 2ème '*' (après le '.') est le nombre max de caractère à utiliser.
    Code:
    printf ("%*s\n", 1, "abc"); // affiche "abc"
               printf ("%*s\n", 5, "abc"); // affiche "  abc"
               printf ("%.*s\n", 1, "abc"); // affiche "a"
               printf ("%.*s\n", 5, "abc"); // affiche "abc"
    c'est bien détailler dans "man 3 printf", dans la partie chaîne de format.

  7. #6
    Chanur

    Re : langage c: spécificateurs de format

    Ce sont des spécificateurs de format variable. Leur valeur est donnée dans la liste d'argument, avant la variable à convertir.
    Par exemple : printf ("%*s\n", 3, chaine); est équivalent à printf ("%3s\n", chaine);
    printf ("%*s\n", 10, chaine); est équivalent à printf ("%10s chaine);
    printf ("%*.*f\n", 10, 3, flottant); est équivalent à printf ("%10.3f\n", flottant);

    On peut les utiliser à la place de tous les nombres qu'on trouve dans le spécificateur de format.
    Ça sert, par exemple pour avoir un nombre de décimales défini à l'exécution, en laissant printf se charger de l'arrondi.
    Ce qui se conçoit bien s'énonce clairement ; et les mots pour le dire arrivent aisément.

Discussions similaires

  1. Probléme langage C + format dicom
    Par invitea0884905 dans le forum Programmation et langages, Algorithmique
    Réponses: 8
    Dernier message: 16/02/2011, 14h19
  2. Changement format m3u en format mp3
    Par invite20846dd8 dans le forum Logiciel - Software - Open Source
    Réponses: 6
    Dernier message: 29/10/2009, 17h26
  3. convertion du format (.txt) au format (.mat)
    Par invite68b26ef6 dans le forum Électronique
    Réponses: 1
    Dernier message: 06/08/2007, 05h13
  4. Convertir un format « sgn » en format dit « standard »
    Par invite216cbd05 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 29/01/2007, 18h48