SysAllocStringLen
Добавлено: 04 окт 2005, 08:41
Сижу, думаю, читаю MSDN - нифига понять не могу.
Вот имплементация Microsofta
inline BSTR A2WBSTR(LPCSTR lp, int nLen = -1)
{
USES_CONVERSION;
BSTR str = NULL;
int nConvertedLen = MultiByteToWideChar(_acp, 0, lp, nLen, NULL, NULL)-1;
str = ::SysAllocStringLen(NULL, nConvertedLen);
if (str != NULL)
{
MultiByteToWideChar(_acp, 0, lp, -1, str, nConvertedLen);
}
return str;
}
Беспокоит след вопрос. Можно-ли алокировать память через NEW вместо ::SysAllocStringLen в данном сценарии ?
Вот имплементация Microsofta
inline BSTR A2WBSTR(LPCSTR lp, int nLen = -1)
{
USES_CONVERSION;
BSTR str = NULL;
int nConvertedLen = MultiByteToWideChar(_acp, 0, lp, nLen, NULL, NULL)-1;
str = ::SysAllocStringLen(NULL, nConvertedLen);
if (str != NULL)
{
MultiByteToWideChar(_acp, 0, lp, -1, str, nConvertedLen);
}
return str;
}
Беспокоит след вопрос. Можно-ли алокировать память через NEW вместо ::SysAllocStringLen в данном сценарии ?