wcstombs()的返回值
CXXXXX::setXMLData(BSTR data)
{
int bytelen = wcstombs(NULL, data, SysStringByteLen(data)+1);
........
}
有上述结构的函数,其中data中是含有双字节字符(中文)的字符串。
现在在英文操作系统下,
1。区域语言为中文的时候
bytelen的值为-1
2。区域语言为英文的时候
bytelen的值为the number of bytes written into the multibyte output string(正常的值)
请问这是什么原因?wcstombs这个函数和系统以及设置有什么特定的联系吗?