需求:
1、调用接口获取json数据
2、json数据是 string 类型
3、接口是二级指针 wchat_t**
4、被调方负责内存管理
示例:
bool getJsonData(wchar_t** ppsz, int* pSize)
{
//strDataCache is source data
LPCSTR pszSrc = strDataCache.c_str();
int nLen = MultiByteToWideChar(CP_ACP, 0, pszSrc, -1, NULL, 0);
if (nLen == 0)
return false; //""
wchar_t* pwszDst = new wchar_t[nLen];
if (!pwszDst)
return false; //""
*ppsz = pwszDst;
MultiByteToWideChar(CP_ACP, 0, pszSrc, -1, pwszDst, nLen);
*pSize = nLen;
return true;
}
int main()
{
wchar_t *str = NULL;
int nSize = 0;
getJsonData(&str, &nSize);
}
备注:
1、注意UNICODE转换,避免中文乱码
2、内存处理,避免每一次调用都造成内存泄漏