对于使用/不使用 wcs/_w/_mbs 前缀定义的函数的差异,我有点困惑。
例如:
- fopen(),_wfopen()
在 msdn 上给出:
fopen 函数打开由文件名指定的文件。_wfopen 是 fopen 的宽字符版本;_wfopen 的参数是宽字符串。否则,_wfopen 和 fopen 的行为相同。
我只是怀疑是否存在与添加“_w”前缀相关的窗口的任何平台依赖性。
- strcpy(),wcscpy(),_mbscpy()
在 msdn 上给出:
wcscpy 和 _mbscpy 分别是 strcpy 的宽字符和多字节字符版本。
再次怀疑添加“wcs”或“_mbs”是否取决于平台。
编辑:
- WideCharToMultiByte 函数是否也依赖于平台?
WideCharToMultiByte 不是 C 运行时函数,它是 Windows API,因此它依赖于平台
- 同样wcstombs_s 函数也依赖于平台吗?
它是非标准的,但在 C11 附录 K 中已标准化。