Utilisation de atoi() [Résolu]

ims214 6 Messages postés mardi 26 octobre 2010Date d'inscription 2 février 2012 Dernière intervention - 27 janv. 2012 à 18:37 - Dernière réponse : ims214 6 Messages postés mardi 26 octobre 2010Date d'inscription 2 février 2012 Dernière intervention
- 27 janv. 2012 à 21:11
Bonjour,
dans mon code j'ai déclaré:
WCHAR Xchar[10]

le programme rempli cette chaine à partir d'un index variable, par exemple:
Xchar[ index ] = '3';

je termine par un '\0'
Au final, il peut y avoir un nombre comme 2134 mais je veux le retrouver sus forme de int.
j'ai donc tenté ceci:
int Xint = atoi( (const char *)Xchar );

mais j'obtient Xint == 2. En fait je constate que seul le premier caractère est gardé, les autres (dans cet exemple 134 ) sont perdus.

Donc ma question: comment faire pour transformer la chaine Xchar[] en int

Environnement: VS2008, MFC, jeu de caractères UNICODE
Merci de votre aide
Afficher la suite 

Votre réponse

2 réponses

ims214 6 Messages postés mardi 26 octobre 2010Date d'inscription 2 février 2012 Dernière intervention - 27 janv. 2012 à 21:11
0
Merci
Finalement j'ai adopté:
	WCHAR TcharI[10] = { '2','1','3','4', '\0' };
int Tint = _wtoi( (const wchar_t *)TcharI );

WCHAR TcharD[10] = { '3','.','1','4','\0' };
double Tdbl = _wtof( (const wchar_t *)TcharD );


comme j'avais à travailler aussi sur des nombres à décimales, c'est réglé pour les deux.

Merci
Commenter la réponse de ims214
BruNews 21054 Messages postés jeudi 23 janvier 2003Date d'inscription 7 novembre 2014 Dernière intervention - 27 janv. 2012 à 18:58
-2
Merci
int = atoi(char*);

Regarde MSDN et tu auras l'equivalent de atoi() pour WCHAR.

ciao...
BruNews, MVP VC++
Commenter la réponse de BruNews

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.