我有一个 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/