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);

相关文章:

  • 2021-10-29
  • 2022-01-24
  • 2021-11-20
  • 2021-05-22
  • 2021-12-05
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-20
相关资源
相似解决方案