Petit erreur

barbie -  
fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
pourquoi cette ecriture ne mache pas? qui peut m'aider ou de proposer une autre ecriture equivalente,merci.
on char s[100];int x;float pht ; int ttv; int pdp2;
sscanf(s+pdp2,"%7.3f:%3d",&pht,&x,&ttv);

3 réponses

  1. kratosmindfreak Messages postés 45 Statut Membre
     
    d'abord il faut pas oublier d'initialiser variable pdp2
    +
    dans sscanf il y a un erreur tu as pas entrer ttv car tu as pas faire &d
    donc il faut faire:
    sscanf(s+pdp2,"%7.3f:%3d:%3d",&pht,&x,&ttv);
    0
  2. kratosmindfreak Messages postés 45 Statut Membre
     
    pas c'est pas besoin de faire &x dans sscanf
    seulement faire:
    sscanf(s+pdp2,"%7.3f:%3d",&pht,&ttv);
    0
    1. barbie
       
      ça marche pas avec %7.3f ça marche sauf avec %f et moi je veux l'afficher sous cette forme par exemple 1000.000 et non pas 1000.000000
      0
    2. kratosmindfreak Messages postés 45 Statut Membre
       
      pas c'est simple tu es pas besoin de faire %7.3f fait seulement %.3f
      :D
      0
    3. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      Pas de %7.3f dans ton sscanf. Il faut mettre tout simplement %f. Ta variable vaudra 1000, et ça t'y peux rien. C'est même du binaire en fait.
      En revanche, à l'affichage, donc avec printf() (ou autre), tu peux utiliser : printf("%7.3f\n", pht);
      0