Convertir une partie d'une chaine en entier
random_user
Messages postés
2
Statut
Membre
-
[Dal] Messages postés 6122 Date d'inscription Statut Contributeur Dernière intervention -
[Dal] Messages postés 6122 Date d'inscription Statut Contributeur Dernière intervention -
Salut , je voulais savoir comment je peux convertir une partie d'une chaine en entier
par exemple :
j'ai des chaines qui contient des date comme :12/5/2018
je veux avoir seulement la partie "2018" de chaque chaine mais en type int
merci d'avance .
par exemple :
j'ai des chaines qui contient des date comme :12/5/2018
je veux avoir seulement la partie "2018" de chaque chaine mais en type int
merci d'avance .
1 réponse
-
Salut random_user,
Une façon de faire est de rechercher les occurrences du caractère'/'
dans la chaîne et de passer la chaîne à partir du caractère suivant le 2ème'/'
àstrtol()
.
Cette fonction convertit enlong int
, et non enint
, mais elle te permet de contrôler le résultat de la conversion et qu'il ne dépasse pas les limites admises surlong int
(et, en utilisant les constantes de<limits.h>
, tu peux aussi t'assurer qu'il n'y a pas de débordement de capacité sur les types entiers de capacité inférieure, dontint
avant de mettre le résultat dans une variable de ce type).
atoi()
convertit directement enint
, mais ne permet pas d'effectuer ce type de contrôle.
Documente toi et fait ton code.
Si tu as un problème , poste ton code.
Dal