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 :

Mon printf ne m'affiche pas la dernière valeur (long)


Sujet :

C++

  1. #1
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut Mon printf ne m'affiche pas la dernière valeur (long)
    Bonjour tout le monde,

    J'ai créé une fonction qui me permet de retourner un long.

    La valeur arrive bien dans la fonction appelante :


    CVoiture::GetVTM returned 25.000000000000

    mais le printf ne veut pas l'afficher ! il m'afficher toujours 0.

    Voici le code du printf :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("- Immatriculation : %s \n- Nombre de place : %ld\n  - VTM : %ld\n",V.Immatriculation(),V.NombreDePersonnes(),V.GetVTM());


    la fonction GetVTM ressemble à ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    double CVoiture::GetVTM() const
     
          {
     
                  return m_VTM;
     
          }

    Aucune erreur mais le printf ne le montre pas.

    Auriez-vous une solution à ce problème ?

    Merci d'avance.

    beegees

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    He oui mais le problème c'est que la fonction GetVTM() retourne un double. Un double ne s'affiche pas avec %ld mais avec %lf (ou alors, il faut changer transtyper.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    printf("- Immatriculation : %s \n- Nombre de place : %ld\n  - VTM : %ld\n",V.Immatriculation(),V.NombreDePersonnes(), (long)V.GetVTM());
    ou alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    printf("- Immatriculation : %s \n- Nombre de place : %ld\n  - VTM : %lf\n",V.Immatriculation(),V.NombreDePersonnes(), V.GetVTM());
    Devraient mieux marcher

  3. #3
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    À noter que fournir un argument de type différent de celui indiqué dans le format de printf est un comportement indéfini.
    Une bonne raison d'utiliser une technique de formatage plus sûre que cette fonction C...

    (Après bon avec un bon compilo tu dois être averti de ce genre d'erreurs)

Discussions similaires

  1. [SimpleXML] Le contenu de mon élément ne s'affiche pas
    Par alliance dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 08/05/2006, 20h27
  2. Mon fichier ne s'affiche pas...
    Par natanyanka dans le forum Access
    Réponses: 10
    Dernier message: 21/03/2006, 16h24
  3. [XSL]Comment faire ceci ?? Mon for-each n'affiche pas tout !
    Par Devil666 dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 27/07/2005, 15h04
  4. Mon dessin ne s'affiche pas au lancement...
    Par Deedier dans le forum MFC
    Réponses: 6
    Dernier message: 02/05/2005, 16h29
  5. [JApplet]mon applet ne s'affiche pas.
    Par yannick56 dans le forum Applets
    Réponses: 6
    Dernier message: 27/05/2004, 17h05

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