size_t i;
Char AppDirectory[300];
Wchar GetAppDirectory;
errno_t einval= wcstombs_s(&i, AppDirectory, 300, GetAppDirectory, wcslen(GetAppDirectory));
当GetAppDirectory中有中文字符时,转换会出现问题,如“as\桌面\ass.log”,使用上面函数转化后AppDirectory结果为“as\桌面\ass.l”。原因是wcslen(GetAppDirectory)的结果是13,而wcstombs_s中第5个参数是最大字节数。解决办法是使用默认值_TRUNCATE。即
errno_t einval= wcstombs_s(&i, AppDirectory, 300, GetAppDirectory, _TRUNCATE);