WritePrivateProfileString输出配置文件 乱码
VOID WINAPI Outputini(BYTE *pData,int len)
{
WCHAR*szMyW;
char*szMy;
charszFile[MAX_PATH];
szMyW = new WCHAR[len*2];
szMy = new char[len];
memcpy(szMyW,pData,len*2);
::WideCharToMultiByte (CP_ACP,WC_COMPOSITECHECK,szMyW,-1,szMy,sizeof(szMy),NULL,NULL);
sprintf_s(szFile, "d:\\outbuf\\%d.ini", ::GetCurrentProcessId ());
::WritePrivateProfileStringA("文字","文字",szMy,szFile);
return;
}
输出结果:
[文字]
文字=你好?D
请问怎么解决后面的乱码?
[解决办法]
szMyW = new WCHAR[len*2 + 1];
memcpy(szMyW,pData,len*2);
szMyW[len - 1] = 0;