c++ - 在 MBCS 操作系统上运行单字节字符应用程序的风险

标签 c++ mfc internationalization mbcs

我有一个 MFC 应用程序,其中字符集是“未设置”。在具有多字节字符集代码页的操作系统上运行此应用程序有哪些相关风险?

最佳答案

“字符集:未设置”选项未定义 _MBCS也不_UNICODE .这意味着您正在使用 *A 系列函数。那些返回MBCS字符串,即使在_MBCS时也是如此。没有定义。

如果_MBCS不影响 *A 函数返回的字符串,那么它有什么作用呢?它映射了一些 <tchar.h> tcs*他们的功能 mbs*版本,而不是 str*wcs*变体。例如。没有_MBCS , _tcsrev映射到 strrev , 不是 _mbsrev .

因此,您可能无法反转从操作系统收到的多字节字符串,或以其他方式编辑它们。

关于c++ - 在 MBCS 操作系统上运行单字节字符应用程序的风险,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5832196/

相关文章:

c++ - 如何解释 'duplicated symbols' 错误中的符号?

c++ - 录制屏幕时不会出现奇怪的 MFC/GDI 行为(空白图像)

java - Java 中的梵文 i18n

python - 痛饮 : function that modifies its argument from c++ to python

c++ - type_info 成员函数如何工作?

c++ - Windows 上的 Clang/LLVM 6.0.0 不需要静态数据成员声明的定义

c++ - OpenThemeData 函数有哪些可能的类?

C++/VS 2012 - 多项目解决方案 : Linker errors in one project but not another

java - 为什么 Java 中的 Locale 是最终的?

java - Spring Hibernate 中实体字段的本地化