Convertir CString un tableau de caractères?
Comment convertir CString dans MFC char[] (tableau de caractères)
Vous devez vous connecter pour publier un commentaire.
Comment convertir CString dans MFC char[] (tableau de caractères)
Vous devez vous connecter pour publier un commentaire.
Vous utilisez CString::GetBuffer() pour obtenir le TCHAR[] - le pointeur vers la mémoire tampon. Si vous avez compilé sans UNICODE définit assez - TCHAR est le même que le char, sinon vous devrez allouer une distinct de la mémoire tampon et l'utilisation WideCharToMultiByte() pour la conversion.
J'ai eu du mal avec cela, mais ce que j'utilise maintenant est ceci: (UNICODE amical)
CString strCommand("Mon Texte à envoyer à la DLL.");
**
**
//CStringA est un non-large/caractère unicode version de CString
Ce sera ensuite mettre vos null char tableau dans strPass pour vous.
Également, si vous le contrôle de la DLL de l'autre côté, en précisant vos paramètres comme:
const char* strParameter
plutôt que
char strParameter*
sera "probablement" convertir Cstring pour vous avec la valeur par défaut de coulée étant généralement efficace.
Vous pouvez utiliser GetBuffer fonction pour obtenir le tampon de caractère de CString.
Appelant que le GetBuffer méthode n'est pas suffisant, vous aurez besoin de copier cette mémoire tampon de la pile.
Par exemple:
Comme indiqué ailleurs, si Vous avez besoin de port CString pour avertissement C4840: non portable f.
Rapide, Unicode && multi-octets striong de conversion est à l'aide de:
static_cast
exemple: