CONVERTIR UN BSTR EN CHAR* ET UN CHAR* EN BSTR

Signaler
Messages postés
2
Date d'inscription
jeudi 10 juin 2004
Statut
Membre
Dernière intervention
9 juillet 2004
-
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/18655-convertir-un-bstr-en-char-et-un-char-en-bstr

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
euh... y'a un soucis, là...

unsigned long length = WideCharToMultiByte( .....
// Pour un BSTR contenant "localhost", nLength en retour vaut 9
strRet = new char[length]; // On créé ici un tableau 9 cases, donc.
// ici on le rempli
length = WideCharToMultiByte ( ......
// nLength vaut ici toujours 9
// Et là, c'est le drame ! on demande à modifier la dixième case d'un tableau qui n'en comporte que 9...
strRet[length] = '\0';

j'ai donc fait:
unsigned long length = 1+WideCharToMultiByte( .....

et ca roule bien mieux...
Messages postés
2
Date d'inscription
jeudi 10 juin 2004
Statut
Membre
Dernière intervention
9 juillet 2004

Le code manque de commentaires mais m'a fait gagner de précieuses minutes :D
Merci ;)