【发布时间】:2014-01-03 11:59:47
【问题描述】:
对于使用/不使用 wcs/_w/_mbs 前缀定义的函数的差异,我有点困惑。
例如:
- fopen(),_wfopen()
在 msdn 上给出的是:
fopen 函数打开由文件名指定的文件。 _wfopen 是 fopen 的宽字符版本; _wfopen 的参数是宽字符串。否则,_wfopen 和 fopen 行为 一样的。
我只是怀疑是否存在与添加“_w”前缀相关的窗口的平台依赖性。
- strcpy(),wcscpy(),_mbscpy()
在 msdn 上给出的是:
wcscpy 和 _mbscpy 分别是 strcpy 的宽字符和多字节字符版本。
再次怀疑添加“wcs”或“_mbs”是否取决于平台。
编辑:
- WideCharToMultiByte function 是否也依赖于平台?
WideCharToMultiByte 不是 C 运行时函数,它是 Windows API,因此它依赖于平台
- 同样,wcstombs_s function 也依赖于平台?
它是非标准的,但在 C11 附录 K 中被标准化。
【问题讨论】:
-
是的,它依赖于平台。
-
@OldProgrammer 只有
_mbscpy是。wcscpy是标准的。
标签: c++ visual-studio visual-c++ msdn tr24731