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 :

problème Sprintf sous solaris


Sujet :

C

  1. #1
    Membre confirmé Avatar de BigNic
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 195
    Par défaut problème Sprintf sous solaris
    je viens de découvrir un "bug" sur solaris 2.8 avec le sprintf, il ne se produit qu'avec un certain patch système.
    l'instruction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sprintf( v_price,” %d%010.03f”,3, 34.84 );
    donne: 3000030.000
    au lieu de : 3000034.840

    ma question est: est-ce que le %010.03f est un format supporté par la norme ou pas ?
    Quelqu'un a-t-il déjà rencontré des problème avec sprintf.

  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 BigNic
    je viens de découvrir un "bug" sur solaris 2.8 avec le sprintf, il ne se produit qu'avec un certain patch système.
    l'instruction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sprintf( v_price,” %d%010.03f”,3, 34.84 );
    donne: 3000030.000
    au lieu de : 3000034.840

    ma question est: est-ce que le %010.03f est un format supporté par la norme ou pas ?
    Quelqu'un a-t-il déjà rencontré des problème avec sprintf.
    Ca ne compile pas. Ce ne sont pas les bons caractères (").
    Essaye ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sprintf( v_price," %d%010.03f",3, 34.84 );
    Ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #include "stdio.h"
     
    int main(void)
    {
       char v_price[32];
     
       sprintf( v_price, " %d%010.03f", 3, 34.84 );
     
       puts(v_price);
       return 0;
    }
    donne cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     3000034.840
     
    Press ENTER to continue.
    avec gcc (MinGW).

  3. #3
    Membre confirmé Avatar de BigNic
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 195
    Par défaut
    Merci Emmanuel, mais si ça compile chez moi. Il y a du y avoir un pb de copier coller au moment de mon post.
    Et le petit exé j'en ai un similaire et suivant la machine je n'ai pas le même résultat. En pièces attachées le source + le résultat sur une machine où cela marche + le résultat sur une machine qui où cela ne marche pas.
    Les deux machines sont des solaris 2.8.
    Sachant que la machine où cela ne marche pas à été pachée récement, je voulais juste savoir si le %010.03f était un type de format supporté par la norme ou pas ? Est-ce que la norme ne le support plus, mais le supportait avant ?
    Fichiers attachés Fichiers attachés

  4. #4
    Membre Expert
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Par défaut
    testalu.cpp est compilé comme un programme écrit en C ou en C++?

    L'extension me fait croire que le compilateur C++ soit appelé.

  5. #5
    Membre confirmé Avatar de BigNic
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 195
    Par défaut
    bonne question
    la ligne de compil:
    CC testAlu.cpp -o testAlu

    donc C++

  6. #6
    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 BigNic
    la ligne de compil:
    CC testAlu.cpp -o testAlu

    donc C++
    Alors mauvais forum. C++, c'est à coté...

  7. #7
    Membre confirmé Avatar de BigNic
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 195
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    Alors mauvais forum. C++, c'est à coté...
    C'est pas une mauvaise remarque ça !
    En fait j'avais hésité du fait que le sprintf est un instruction C aussi, mais maintenant que j'y re réfléchit effectivement, c'est pas parceque y a pas marqué class que c'est du C et pas du C++.
    Toutes mes escuses pour cette erreur.


    [edit: je ne trouce pas comment changer de forum, si c'est possible est-ce qu'un modo peut m'aider ?]

Discussions similaires

  1. problème avec la STL sous solaris
    Par sofiane80 dans le forum SL & STL
    Réponses: 12
    Dernier message: 01/12/2009, 14h26
  2. Problème de lancement d'apache sous Solaris
    Par Aure7780 dans le forum Solaris
    Réponses: 2
    Dernier message: 02/08/2009, 15h22
  3. probléme avec sprintf() sous linux
    Par moooona dans le forum C++
    Réponses: 5
    Dernier message: 11/04/2008, 01h48
  4. [Sybase]Problème avec le BCP sous Solaris
    Par sl dans le forum Sybase
    Réponses: 3
    Dernier message: 09/09/2004, 07h56
  5. ContextMenu de l'explorer: Problème de sous menu
    Par Ingham dans le forum Composants VCL
    Réponses: 8
    Dernier message: 26/02/2004, 08h06

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