0
我試圖將_bstr_t對象轉換爲char數組。更具體地說,我有一個預分配的char數組,我知道這個數組的大小,我想在那裏複製_bstr_t。將_bstr_t轉換爲char數組
有一段時間我的代碼是這樣的:
bool ReadCharPtr(_bstr_t const& input, char* output, unsigned int max_len)
{
// THIS CODE IS WRONG !
const char * temp (input);
return ::strcpy_s(output, max_len, temp) == 0;
}
但是...我不知道,這不是Windows文檔清晰,什麼時候我打電話operator char*() const
發生。有些東西是在堆中分配的,我必須稍後才能釋放它?
有沒有辦法避免這一步,並實際將字符_bstr_t轉換爲預分配數組?這將避免在堆上分配字符,因爲沒有任何內容...
http://stackoverflow.com/questions/626049/bstr-t-to-utf-8-possible – LihO