ATOI: d'un tableau de char vers un entier
Fermé
sophie34
-
15 nov. 2009 à 12:21
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 15 nov. 2009 à 12:34
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 15 nov. 2009 à 12:34
A voir également:
- Atoi segmentation fault
- Erreur de segmentation - Forum C
- Scanf segmentation fault ✓ - Forum Programmation
- Zsh: segmentation fault ✓ - Forum Programmation
- Erreur de segmentation c ✓ - Forum C++
- Zsh segmentation fault ✓ - Forum Assembleur
1 réponse
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
15 nov. 2009 à 12:34
15 nov. 2009 à 12:34
Salut,
La fonction atoi, tu l'as bien compris convertit une chaîne de caractère en un int. Mais tu demandes d'afficher le nombre représentant "abcd", nombre qui n'existe pas en base décimal. D'où le 0.
Si tu veux travailler en hexa, et même d'une manière plus général, utilise plutôt la fonction strtol.
Et enfin, évite le mélange du C et du C++.
En C++, on évite d'utiliser au maximum le tableau de char alors qu'on a la classe string qui est beaucoup mieux.
Et dans ce cas-là, en C++ pour convertir un string en entier : https://cpp.developpez.com/faq/cpp/?page=Les-chaines-de-caracteres-std-string#STRINGS_strtonum
Cdlt
La fonction atoi, tu l'as bien compris convertit une chaîne de caractère en un int. Mais tu demandes d'afficher le nombre représentant "abcd", nombre qui n'existe pas en base décimal. D'où le 0.
Si tu veux travailler en hexa, et même d'une manière plus général, utilise plutôt la fonction strtol.
Et enfin, évite le mélange du C et du C++.
En C++, on évite d'utiliser au maximum le tableau de char alors qu'on a la classe string qui est beaucoup mieux.
Et dans ce cas-là, en C++ pour convertir un string en entier : https://cpp.developpez.com/faq/cpp/?page=Les-chaines-de-caracteres-std-string#STRINGS_strtonum
Cdlt