- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
对于使用/不使用 wcs/_w/_mbs 前缀定义的函数的差异,我有点困惑。
例如:
The fopen function opens the file that is specified by filename. _wfopen is a wide-character version of fopen; the arguments to _wfopen are wide-character strings. Otherwise, _wfopen and fopen behave identically.
我只是怀疑添加“_w”前缀是否对 Windows 有任何平台依赖性。
wcscpy and _mbscpy are, respectively, wide-character and multibyte-character versions of strcpy.
再次怀疑“wcs”或“_mbs”的添加是否依赖于平台。
编辑:
WideCharToMultiByte is not a C Runtime function, it's a Windows API,hence it is platform dependent
It was nonstandard but was standardized in C11 Annex K.
最佳答案
wcs*
函数如wcscpy
是C 标准库的一部分。 _wfopen
函数和其他 _w*
函数是扩展,_mbscpy
等多字节字符串函数也是如此。
在大多数情况下,具有前导下划线的 Visual C++ C 运行时 (CRT) 函数是扩展;没有前导下划线的函数是 C 标准库的一部分。
有两个主要的异常(exception),其中扩展名可能没有前导下划线:
有几个扩展函数,使用下划线前缀声明,它们具有无前缀的别名以实现向后源兼容性。这些别名已弃用,如果您尝试使用它们,您将收到可抑制的弃用警告 (C4996)。
对于一些 C 标准库函数,有一些带有 _s
后缀的安全替代函数,例如scanf_s
。这些是默认声明的,但可以通过将宏 __STDC_WANT_SECURE_LIB__
定义为值为 0 来抑制它们的声明。
(这些函数实际上是在可选的 Annex K 中添加到 C11 中的,但请注意,指定的内容之间存在一些差异在 C 标准中以及由 Visual C++ 实现的内容。这差异是由于 a historicalaccident .)
关于c++ - Visual Studio 中的 "wcs"和 "_w"和 "_mbs"前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20605094/
我正在使用AUDIO_WAVERFORMS在我的聊天应用程序中处理音频消息。我正面临一个问题,当我试图调用await player.prepararePlayer(Path:Path);来准备我的播放
我正在使用 Python 3.1,并且我想创建一个游戏。我做了一个class Board(Canvas):为什么?因为我需要通过“标签”来跟踪这些片段。但是,当我尝试将标签绑定(bind)到一 blo
对于使用/不使用 wcs/_w/_mbs 前缀定义的函数的差异,我有点困惑。 例如: fopen(),_wfopen() 在 msdn 上给出: The fopen function opens th
下面的代码总是返回下面的有线对象 {"_U": 0, "_V": 0, "_W": null, "_X": null} 作为回应。 这是我的代码 getData = () => {
我是一名优秀的程序员,十分优秀!