Char* -> int

Résolu
ndubien Messages postés 557 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 10 mai 2014 - 10 juil. 2007 à 11:07
ndubien Messages postés 557 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 10 mai 2014 - 11 juil. 2007 à 17:20
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

Yunchi Messages postés 100 Date d'inscription lundi 30 octobre 2006 Statut Membre Dernière intervention 14 avril 2009
10 juil. 2007 à 11:22
tu peux passer d'un char a un int avec int = atoi(char);
mais pour un char* je ne sais pas : /
3
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
10 juil. 2007 à 15:23
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++ (@++)<!--
0
katsankat Messages postés 571 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 12 juillet 2012 3
10 juil. 2007 à 17:35
Char* vers int?
 strtol().
Il parait que atoi() est obsolète mais il tient la route.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
10 juil. 2007 à 18:21
atoi() n'a rien d'obsolète, c'est ce qu'il y a de plus rapide.

ciao...
BruNews, MVP VC++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
katsankat Messages postés 571 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 12 juillet 2012 3
10 juil. 2007 à 18:33
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
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
10 juil. 2007 à 18:42
Sur VC++, strtol retourne simplement un long.
__int64 _atoi64(char*);

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

C++ (@++)<!--
0
katsankat Messages postés 571 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 12 juillet 2012 3
11 juil. 2007 à 12:10
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.
0
ndubien Messages postés 557 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 10 mai 2014 4
11 juil. 2007 à 17:12
Merci pour les différentes solutions apportées à mon problème.
J'ai utilisé atoi().

<hr />

Merci encore et à bientôt.

Nico
0
ndubien Messages postés 557 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 10 mai 2014 4
11 juil. 2007 à 17:20
Juste une dernière petite information, j'ai essayé avec un char* et atoi marche sans problèmes...

A bientôt
0
Rejoignez-nous