Convertir un int en un String et l'inverse

Résolu
Signaler
Messages postés
34
Date d'inscription
lundi 19 mars 2007
Statut
Membre
Dernière intervention
25 août 2007
-
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
Bonjour,
je travaille avec Visual Studio 2005 , comme langage visual c++

je peux convertir un int16, int32, ou un int 64 en un string ou l'inverse ..mais je sais pas comment je pourrais convertir un int (normal) en un string ?
est ce que quelqu'un peux m'aider?

merci

53 réponses

Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
Salut

en meme temps....
aucune reponse acceptee, malgre la profusion d'explications...
deux questions pour un topic...

ce post, c'est plus vraiment l'endroit pour rien...

<hr />une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
coucou, pas grave...
Dans tous les cas, un message commençant par:
"...., comme langage visual c++"
vu que ça n'existe pas comme langage, tout devient permis.

ryoussef19 > VC++ est un IDE, pas un langage.

ciao...
BruNews, MVP VC++
Messages postés
286
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
27 décembre 2009
2
un int normal est un int32...

Loki
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
Salut

http://www.commentcamarche.net/forum/affich-813183-fonction-itoa

<hr />une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
Messages postés
63
Date d'inscription
mercredi 7 février 2007
Statut
Membre
Dernière intervention
14 juin 2007

Sur une machine 32bits un int est un int32 mais sur une machine 64bits un int est un int64 :p
Tu peux utliliser
intatoi(constchar*string);
Messages postés
63
Date d'inscription
mercredi 7 février 2007
Statut
Membre
Dernière intervention
14 juin 2007

Yopla une petite correction (de formatage) et une petite précision:
int atoi(const char *string); pour convertir une string en int ou itoa pour l'inverse comme on te l'a suggéré avant...
Messages postés
286
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
27 décembre 2009
2
qu'est ce que c'est que ces mecs comme thomwebster qui sont partout et qui utilisent une technologie futuriste ! vive windows 3.1 !

Loki
Messages postés
63
Date d'inscription
mercredi 7 février 2007
Statut
Membre
Dernière intervention
14 juin 2007

Bon au risque de paraitre un peu lourd je rajouterai à mon premier post (décidément il n'était vraiment pas complet) qu'un int est un int32 si il est compilé avec la libc ou équivalente pour machine 32bits et que c'est un int64 s'il est compilé avec la libc64 ou équivalente pour machine 64bits. A noter que l'on peut compiler en 64bits sur une machine 32bits mais que le programme ne marchera que sur une machine 64bits... J'espère que je n'aurais plus rien a rajouté à mon premier post qui étais je l'avou très très léger, désolé
Messages postés
63
Date d'inscription
mercredi 7 février 2007
Statut
Membre
Dernière intervention
14 juin 2007

Windows 3.1 ??? Pourquoi, il y a plus récent que le dos? :p
Bon plus sérieusement, il vaut mieux être le plus rigoureux possible, parsqu'on peut vite se retrouver avec une application inutilisable à cause de petites choses comme cela, et que ça ne coût pas grand chose d'utiliser des fonctions standard qui marcheront toujours!
Messages postés
286
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
27 décembre 2009
2
c'est vrai c'est vrai, je ne suis pas très très rigoureux dans mon genre :p mais en fait à la base, il sait déja tout convertir le monsieur il savait juste pas que int c'était déjà les formats qu'il nous avait cité donc ça roule ma poule !

Loki
Messages postés
63
Date d'inscription
mercredi 7 février 2007
Statut
Membre
Dernière intervention
14 juin 2007

Il a explicitement dit qu'il ne savait pas pour un int... atoi et itoa marche pour des int, on ne doit pas les utiliser avec int32 et int64 qui ont leur propres fonctions de conversion (justement pour les soucis de longévitude du code, ce que j'ai expliqué plus haut), celles qu'il dit connaitre si j'ai bien lu le premier post ! Donc la précision était nécessaire lol
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
Salut

en meme temps si un clique sur

[reglement.aspx Voir le règlement de CodeS-SourceS]

on voit que le monsieur ne sait pas chercher et a donc rate la regle num 1... l'ignorance est normale, la volonte de se detacher de l'ignorance est normale, mais le non respect des regles...

<hr />une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
Messages postés
286
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
27 décembre 2009
2
ah ok, ben tu serais sympa de m'expliquer la différence en fait je suis pas hyper calé dans tous ces trucs malheureusement.

Loki
Messages postés
63
Date d'inscription
mercredi 7 février 2007
Statut
Membre
Dernière intervention
14 juin 2007

Eh bien c'est simple si il compile pour une machine 64bits sont int sera codé sur 64 bits donc si il utilise la fonction de conversion de  int32 pour son int c'est game over...
Messages postés
286
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
27 décembre 2009
2
ca ok je pige, mais je veux dire, quelle différence y a t il entre un int compilé avec une machine 32 bits et un int32 ?

Loki
Messages postés
286
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
27 décembre 2009
2
coucou747 > si tout le monde respectait cette règle, il y aurait moitié moins de post sur le forum

Loki
Messages postés
63
Date d'inscription
mercredi 7 février 2007
Statut
Membre
Dernière intervention
14 juin 2007

Alors dans ce cas la il n'y en a aucune!
En fait le int32 a été créé pour forcer un int a être en 32 bits si l'on compile sur une machine 64bits... En effet on n'a pas toujours besoin d'avoir un int d'une taille de 64bits sur une machine 64bits... Le int64 c la même chose mais pour forcer un int de 64bits sur une machine 32bits...
Mais ce que je disais c'est que dans son cas (il voulait utiliser un int) donc il s'en foutait que se soit un int32 ou un int64 et donc pour s'affranchir de ce soucis il doit utiliser atoi et itoa qui sont adaptés selon la librairie utilisée  (pour 32bits ou 64bits)..
J'espère que j'ai répondu à ta question...
Messages postés
286
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
27 décembre 2009
2
ok, c'est un peu comme une macro qui redirige sur la bonne fonction selon le cas ?

Loki
Messages postés
63
Date d'inscription
mercredi 7 février 2007
Statut
Membre
Dernière intervention
14 juin 2007

Pas du tout... Quand tu compile pour un 64bits tu as la librairie 64 bits qui est entièrement prévu pour les int codés sur 64 bits.
Quand tu compile avec une librairie pour 32bits, idem mais pour 32bits...
Messages postés
286
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
27 décembre 2009
2
ok ! thanks

Loki