BSTR'yi char *?Dönüştürme BSTR için char *
Güncelleme: Bunu yapmayı denedim, ancak doğru ya da yanlış olup olmadığını bilmiyorum.
char *p= _com_util::ConvertBSTRToString(URL->bstrVal);
strcpy(testDest,p);
BSTR'yi char *?Dönüştürme BSTR için char *
Güncelleme: Bunu yapmayı denedim, ancak doğru ya da yanlış olup olmadığını bilmiyorum.
char *p= _com_util::ConvertBSTRToString(URL->bstrVal);
strcpy(testDest,p);
Sizin kodunuz tamam. ConvertBSTRToString
sadece bunu yapar. strcpy
'a gelince, , p
tarafından işaret edilen dizgiyi tutmaya yetecek kadar büyük olmalıdır. ConvertBSTRToString yeni bir dizge ayırdığından, satırın bir bölümünde serbest bırakmanız gerektiğini unutmayın. emin olmak bitirdikten sonra yapmanız:
delete[] p;
(Eğer BSTR
documentation on MSDN görebileceğiniz gibi) olsa uyarılar Birkaç:
- , (Unicode karakter dizesi oluşur geniş veya çift baytlı karakterler).
- Birden çok gömülü boş karakter içerebilir. beklendiği gibi
Yani, senin strcpy
her zaman işe olabilir.