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);
本文介绍了一个关于中文字符在使用wcstombs_s函数进行宽字符到多字节字符转换时出现的问题及解决方案。当字符串包含中文时,转换可能会导致部分文件名丢失。文章提供了修改函数参数以解决此问题的方法。
4030

被折叠的 条评论
为什么被折叠?



