Char* -> int [Résolu]

Signaler
Messages postés
557
Date d'inscription
dimanche 25 septembre 2005
Statut
Membre
Dernière intervention
10 mai 2014
-
Messages postés
557
Date d'inscription
dimanche 25 septembre 2005
Statut
Membre
Dernière intervention
10 mai 2014
-
Bonjour,

Je cherche à savoir
s'il est possible de passer d'un char* à un int,
si oui comment?






<hr />




Merci d'avance et à bientôt.







Nico

10 réponses

Messages postés
100
Date d'inscription
lundi 30 octobre 2006
Statut
Membre
Dernière intervention
14 avril 2009

tu peux passer d'un char a un int avec int = atoi(char);
mais pour un char* je ne sais pas : /
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
atoi c'est justement pour les char *.
Pour passer d'un char vers un int, une simple soustraction suffis:
char c = '5';
int i = c-'0';

C++ (@++)<!--
Messages postés
571
Date d'inscription
vendredi 30 décembre 2005
Statut
Membre
Dernière intervention
12 juillet 2012
3
Char* vers int?
 strtol().
Il parait que atoi() est obsolète mais il tient la route.
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
26
atoi() n'a rien d'obsolète, c'est ce qu'il y a de plus rapide.

ciao...
BruNews, MVP VC++
Messages postés
571
Date d'inscription
vendredi 30 décembre 2005
Statut
Membre
Dernière intervention
12 juillet 2012
3
Entièrement d'accord. Un admin de developpez.net m'a jeté pour avoir conseillé atoi (mais je pense que c'est un con et préfère atoi) et personne n'a rien dit. En plus strtol retourne un long int.
http://www.gnu.org/software/libc/manual/html_node/Parsing-of-Integers.html

http://www.aquaphoenix.com/ref/gnu_c_library/libc_265.html
http://theory.uwinnipeg.ca/gnu/glibc/libc_270.html
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
26
Sur VC++, strtol retourne simplement un long.
__int64 _atoi64(char*);

ciao...
BruNews, MVP VC++
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
En quoi cette fonction est-elle obsolète ?

C++ (@++)<!--
Messages postés
571
Date d'inscription
vendredi 30 décembre 2005
Statut
Membre
Dernière intervention
12 juillet 2012
3
Les gars qui développent la Glibc veulent la délaisser parce que soit disant strtol() a une gestion d'erreur que atoi() n' a pas. Pourtant si on fait correctement ce qu'il faut en amont la gestion d'erreur n'est qu'un gaspillage de cycles.
Messages postés
557
Date d'inscription
dimanche 25 septembre 2005
Statut
Membre
Dernière intervention
10 mai 2014
3
Merci pour les différentes solutions apportées à mon problème.
J'ai utilisé atoi().

<hr />

Merci encore et à bientôt.

Nico
Messages postés
557
Date d'inscription
dimanche 25 septembre 2005
Statut
Membre
Dernière intervention
10 mai 2014
3
Juste une dernière petite information, j'ai essayé avec un char* et atoi marche sans problèmes...

A bientôt