Langage C: convertir char à int
Sportif_C
-
Sportif_C -
Sportif_C -
Bonjour,
Je souhaite écrire une fonction qui permet de convertir un tableau de type **char à int[][].
Des pistes?
Merci.
Je souhaite écrire une fonction qui permet de convertir un tableau de type **char à int[][].
Des pistes?
Merci.
1 réponse
-
Bonjour
Cela dépend du tableau de char. Est-ce un tableau de chaîne ou bien un tableau 2d de char ?
Dans le premier cas, il suffira de faire une simple soustraction dans l'autre une conversion avec strtol suffira.-
-
-
-
Si c'est un %c, alors ton tableau 2D contient les caractères '0' à '9' maximum. Il ne peut donc pas y avoir de 23 comme vous avez dit. Ou alors ce ne sera pas %c mais %s ou %d.
Donc supposons que ce soit bien du %c.
Il suffit de créer un tableau 2D d'int de la même taille et de copier une à une les valeurs en effectuant la correspondance : tabInt[i][j] = tabChar[i][j] - '0'; -
Merci pour ta réponse. Si j'ai des valeurs supérieur à 10. Je ne suis pas sûre que tu m'avais compris.
En fait, j'ai copié les données de mon fichier texte dans le tab 2D char** car le nombre de colone dans le fichier est variable (ligne 1 deux colone, ligne 2 4 colones, etc).
Pour afficher mon tab char**.Voici l'affichage de mon tab char** utilises çafor(i=0; tabChar[i] != NULL; i++) { for(j=0; tabChar[i][j] != '\0'; j++) { printf("%c",tabChar[i][j]); } putchar('\n'); }
Maintenant je vais utiliser les entiers en indice dans un tableau 2D de type int. Comment faire?
Merci
-