conversion CString à int

conversion CString à int - C++ - Programmation

Marsh Posté le 27-05-2004 à 11:21:28    

bonjour,
comment convertir une variable de type CString en int sous visual C++?

Reply

Marsh Posté le 27-05-2004 à 11:21:28   

Reply

Marsh Posté le 27-05-2004 à 11:23:33    

avec la fonction recherche :o

Reply

Marsh Posté le 27-05-2004 à 11:24:37    

octav_88 a écrit :

bonjour,
comment convertir une variable de type CString en int sous visual C++?


 
C'est quelque chose comme atoi ou _atoi si ma mémoire est bonne (ou peut-être strtol ou strtoll?).

Reply

Marsh Posté le 27-05-2004 à 11:32:55    

atoi est standard mais déprécié en faveur de strol/ll mais c'est du C, pas du C++, encore moins du VC++

Reply

Marsh Posté le 27-05-2004 à 11:36:53    

Et en faisant comme ça ?
 
CString chaine("4" );
int a;
a = (int)chaine;

Reply

Marsh Posté le 27-05-2004 à 11:38:29    

pour un premier message, c'est pas brillant ...

Reply

Marsh Posté le 27-05-2004 à 11:40:58    

désolée, mais je débute en C++
peux tu m'expliquer pourquoi ce que j'ai dit n'est pas bon ?

Reply

Marsh Posté le 27-05-2004 à 11:43:20    

version simple:
- tu peux pas
 
version compliquée:
- CString n'a as d'operator int
- les cast C c'est mal
- les CString c'est particulier avec VC++
 
 
la solution C++

Code :
  1. #include <sstream>
  2. // ...
  3. std::istringstream is("42" );
  4. int i;
  5. is >> i;

Reply

Marsh Posté le 27-05-2004 à 11:49:48    

Celina Kyle a écrit :

désolée, mais je débute en C++
peux tu m'expliquer pourquoi ce que j'ai dit n'est pas bon ?


je confirme : pour convertir de CString vers int, faut utiliser atoi ou strtol !
de toutes façon, en MFC, t'es obligé de mélanger C et C++ tellement c'est bien foutu [:kiki]
et pour faire l'opération inverse (int vers CString), faut utiliser la méthode Format() de CString


Message édité par Harkonnen le 27-05-2004 à 14:50:08

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 27-05-2004 à 14:44:34    

:bounce:


Message édité par Harkonnen le 27-05-2004 à 14:44:48

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 27-05-2004 à 14:44:34   

Reply

Marsh Posté le 27-05-2004 à 15:06:27    

Code :
  1. CString tempo1;
  2. int var=atoi((const char*)tempo1);

par exemple


Message édité par neg'gwada le 27-05-2004 à 15:06:47

---------------
--- WinSplit Revolution ---
Reply

Marsh Posté le 27-05-2004 à 15:07:35    

pas atoi bordel :o

Reply

Marsh Posté le 27-05-2004 à 15:08:23    

Taz a écrit :

pas atoi bordel :o

pourquoi? ca marche aussi


Message édité par neg'gwada le 27-05-2004 à 15:09:22

---------------
--- WinSplit Revolution ---
Reply

Marsh Posté le 27-05-2004 à 15:09:34    

Reply

Marsh Posté le 27-05-2004 à 15:11:37    

neg'gwada a écrit :

pourquoi? ca marche aussi

et tu fais comment avec pour détecter une erreur ?
 
(moi j'y bite rien aux CString, c'est quoi ce cast char* brutal, ça fonctionne au moins ?)

Reply

Marsh Posté le 27-05-2004 à 15:12:20    

ok, j'utiliserai strtol maintenant.


---------------
--- WinSplit Revolution ---
Reply

Marsh Posté le 27-05-2004 à 15:12:59    

Taz a écrit :

et tu fais comment avec pour détecter une erreur ?
 
(moi j'y bite rien aux CString, c'est quoi ce cast char* brutal, ça fonctionne au moins ?)

oui ca marche pour moi


---------------
--- WinSplit Revolution ---
Reply

Marsh Posté le 27-05-2004 à 15:14:53    

c'est moi ou y a des postes qui ont warpés o_O

Reply

Marsh Posté le 27-05-2004 à 15:15:17    

Joel F a écrit :

c'est moi ou y a des postes qui ont warpés o_O


Harko a fait le ménage!:o

Reply

Marsh Posté le 27-05-2004 à 15:16:51    

ok, ils sont un opérateur LPCSTR
 
putain le site de MSDN cai de la merde, le texte est en UTF-8, la frame en iso-8859-15 :o

Reply

Marsh Posté le 27-05-2004 à 15:18:38    

Taz a écrit :


(moi j'y bite rien aux CString, c'est quoi ce cast char* brutal, ça fonctionne au moins ?)


http://msdn.microsoft.com/library/ [...] pctstr.asp
[edit]
[:benou_grilled]


Message édité par skeye le 27-05-2004 à 15:19:02
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed