Bonjour,
En cherchant dans la FAQ/tuto, Nico-pyright(c) donne une fa�on de convertir une System::String^ en std::string:ailleurs, j'ai trouv� la m�thode :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13 std::string convertStringToStlString (String ^ chaine) { char * chaineChar; pin_ptr<const wchar_t> wch = PtrToStringChars(chaine); int taille = (chaine->Length+1) * 2; chaineChar = new char[taille]; int t = WideCharToMultiByte(CP_ACP, 0, wch, taille, NULL, 0, NULL, NULL); WideCharToMultiByte(CP_ACP, 0, wch, taille, chaineChar, t, NULL, NULL); std::string chaineSTL = chaineChar; delete chaineChar; return chaineSTL; }
Je voulais savoir s'il y avait une diff�rence et si oui, y a-t-il des avantages/inconv�nients � l'une ou l'autre ?
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10 #include <windows.h> #include <atlstr.h> ... std::string convertStringToStlString (String ^ chaine) { CString cChaine(chaine); std::string stlChaine(cChaine); return stlChaine; }
Ou encore s'il y a d'autres fa�ons plus optimales pour effectuer cette conversion.
Merci![]()
Partager