Conversion de tableau de chiffre caractère

Résolu
Bonjour,
s'il vous plait j'ai besoin de savoir comment écrire une fonction qui convertit un tableau de chiffre caractères en un tableau de chiffre décimal. merci

5 réponses

  1. Bonjour viktor,

    j'ai feuilleté un peu le web, le peu d'information trouvé te renseigne comment convertir un tableau binaire en décimal. Ou comment convertir un entier en décimal.

    Je pense que dès lors tu remplaces tes types entier et décimal en tableau.

    Bonne recherche !!
    1. Salut, cette fonction existe déjà : atoi
      #include <stdlib.h>
      int atoi(const char *nptr);

      Cela répond à ta question ou tu cherches à réécrire cette fonction ?
      1. Contributeur
        atoi() est obsolète.
        Pour la conversion, on utilise plutôt strtol().
    2. Je suis d'accord sur le principe de la conversion mais attention à son utilisation la fonction renvoie un entier et prend comme argument un pointeur de char si "12345 " est une chaine de caractère alors on aura comme résultat 12345.
      Cependant de mémoire je pense t'avoir déjà répondu sur un autre
      forum :https://www.developpez.net/forums/d1520536/c-cpp/c/conversion-chaine/
      1. coucou hibou :D
        quoi de neuf ?
      2. Hibou ?? j'ai pas compris -_O !
        à bientôt
    3. Utilise tout simplement la table ascii :
      https://upload.wikimedia.org/wikipedia/commons/1/1b/ASCII-Table-wide.svg
      '0' == 48
      '9' == 57

      Il te suffit donc de soustraire 48 à chacune des cases de ton tableau pour obtenir la valeur décimale correspondante.

      N'oublie pas de créer une fonction vérifiant que le nombre est bien décimal avant d'effectuer la soustraction, où il y aura un risque de dépassement d'entier.
      1. Sinon
        '0'- '0' = 0
        '1' - '0' = 1
         *(ptr_int+i) = *(ptr_str+i) - '0' 

        à bientôt
    4. Contributeur
      Bonjour,

      Juste pour être sûr de bien comprendre... Quelle est la différence avec ta demande antérieure : https://forums.commentcamarche.net/forum/affich-31986326-conversion-de-chaine#p31988023

      Peux-tu donner un exemple ?

      Cdlt,