Menu

Convertir une partie d'une chaine en entier

Messages postés
2
Date d'inscription
dimanche 25 novembre 2018
Dernière intervention
27 novembre 2018
- - Dernière réponse : [Dal]
Messages postés
4804
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
13 décembre 2018
- 28 nov. 2018 à 09:15
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 .
Afficher la suite 

Votre réponse

1 réponse

Messages postés
4804
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
13 décembre 2018
0
Merci
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 en
long int
, et non en
int
, mais elle te permet de contrôler le résultat de la conversion et qu'il ne dépasse pas les limites admises sur
long 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, dont
int
avant de mettre le résultat dans une variable de ce type).

atoi()
convertit directement en
int
, 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
Commenter la réponse de [Dal]