bonjour à tous...
je voulais savoir s'il existait une fonction simple de conversion de
CString en string...
malgré la MSDN et la Faq, je ne trouve pas mon bonheur..:oops:
Version imprimable
bonjour à tous...
je voulais savoir s'il existait une fonction simple de conversion de
CString en string...
malgré la MSDN et la Faq, je ne trouve pas mon bonheur..:oops:
c bien ca que tu veux ?Code:
1
2 CString strString = _T("bla bla bla"); std::string my_string ( (LPCTSTR) strString);
la compilation provoque l'erreur suivante:
"impossible de convertir le paramètre 1 de 'LPCTSTR' en string" :(
faut il ajouter qqchose en plus?
Juste pour dire que cela y figure :Citation:
malgré la MSDN et la Faq, je ne trouve pas mon bonheur..
http://c.developpez.com/faq/vc/?page...tringToCString
j'avais vu cet exemple mais sans succès..
peut-etre cela vient de visual 2005?
mais il me dit que c'est imùpossible à convertir sans passer par la conversion en chaine C standard (char *)
Code:
1
2
3
4 CString theString( "bonjour" ); int sizeOfString = (theString.GetLength() + 1); LPTSTR lpsz = new TCHAR[ sizeOfString ]; _tcscpy_s(lpsz, sizeOfString, theString);
salut,
parce que ton projet doit etre configuré en UNICODE.
Les solutions qui compilent quel que soit le mode (Multi-Byte ou Unicode):
- Te faire un typedef std::basic_string< TCHAR > _tstring pour avoir l'équivalent des string en Multi-Byte et des wstring en Unicode
- Avec une version récente de MFC, utiliser une CStringA pour la forcer en Multi-Byte, et instancier la string avec:
(Note l'absence de T)Code:
1
2 CStringA strStringA(strString); std::string my_string(static_cast< LPCSTR >(strStringA));