Partage
  • Partager sur Facebook
  • Partager sur Twitter

Conversion d'un caractere en entier ...

fonction strod()

Sujet résolu
    21 avril 2006 à 23:07:49

    Bonjour a tous

    Voilà j'aimerai transformmer un caractere en entier ... La fonction strod marcherai t elle dans ce cas où il y aurait plus simple ...

    merci d'avance et à bientôt
    • Partager sur Facebook
    • Partager sur Twitter
      22 avril 2006 à 0:05:44

      Si c'est pour convertir une chaîne en entier, il ne faut pas utiliser strtod qui est utilé pour les doubles, mais plutôt strtol, stroul et cetera. Tu peux aussi utiliser scanf avec le code de format approprié :


          sscanf(ch, "%d", &var); /* int */
          sscanf(ch, "%ld", &var); /* long */
          /* etc */

      Sinon pour convertir un caractère :

      char car_nb = '5';
      int nb = car_nb - '0';

      printf("%d", nb);


      ++
      • Partager sur Facebook
      • Partager sur Twitter
        22 avril 2006 à 11:31:29

        En fait c pas exactemment ca mon problemme, j'aurais besoin de controler la valeur de retour d'un fonction ...

        En fait mon projet est un jeu de mastermind avec des chiffres donc j'ai une interface qui demandent des chiffres a rentrer, mias je voudrais que l'utilisateur ait la possibilite de rentrer des lettres sans faire planter le prog pour acceder a une espece de sous menus.

        Donc j'ai penser a utiliser une fonction de conversion et a tester son retour et ainsi voir si ce que l'utilisateur rentre est un entier ou une lettre et agir en consequence ...

        Mais je ne sais pas kel fonction utiliser ... atoi () ne detecte aps les erreur .. et je comprends pas le fonctionnement de strtod() ...

        @ bientôt
        • Partager sur Facebook
        • Partager sur Twitter
          22 avril 2006 à 11:41:06

          C'est strtol que tu veux, pas strtod.
          • Partager sur Facebook
          • Partager sur Twitter
            22 avril 2006 à 11:47:25

            Dans ce cas tu peux utiliser la fonction isdigit (ctype.h) qui retourne 0 si le caractère passé en argument n'est pas un chiffre ou un chiffre positif dans le cas contraire.
            Tu mets cette fonction dans une condition et tu agis en conséquence...

            ++
            • Partager sur Facebook
            • Partager sur Twitter
              22 avril 2006 à 11:52:44

              ok merci beaucoup je vais voir ce que je peux faire ...

              @ bientôt
              • Partager sur Facebook
              • Partager sur Twitter
                22 avril 2006 à 20:17:24

                Heu il n'y a que scanf qui plante lorsqu'une conversion n'est pas réussie. Voir fgetc, fgets et getchar().
                • Partager sur Facebook
                • Partager sur Twitter

                Conversion d'un caractere en entier ...

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown