_bstr_t オブジェクトを char 配列に変換しようとしています。より具体的には、事前に割り当てられた char 配列を持っています。そのサイズはわかっており、そこに _bstr_t をコピーしたいと考えています。
しばらくの間、私のコードは次のようになりました。
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 を事前に割り当てられた配列に変換する方法はありますか? これにより、ヒープに文字を無料で割り当てることを回避できます...