C++ 将中文指定为DBCS
在我的代码中,我可以执行以下操作: wchar_t*s=L“…一些中文/日文/等字符串…” 这很好用。 但如果我这样做: char*s=“…一些中文/日文/等字符串…” 最后,我将s指定给“???????”(不是显示问题,值中有实际的问号) 鉴于我使用的是US/1252 Win 7(VS2010)和Unicode编译的应用程序,在给定常量字符串文本的情况下,如何创建MBCS中文字符串?我不希望它是unicode,而是汉字的MBCS表示C++ 将中文指定为DBCS,c++,visual-studio-2010,internationalization,C++,Visual Studio 2010,Internationalization,在我的代码中,我可以执行以下操作: wchar_t*s=L“…一些中文/日文/等字符串…” 这很好用。 但如果我这样做: char*s=“…一些中文/日文/等字符串…” 最后,我将s指定给“???????”(不是显示问题,值中有实际的问号) 鉴于我使用的是US/1252 Win 7(VS2010)和Unicode编译的应用程序,在给定常量字符串文本的情况下,如何创建MBCS中文字符串?我不希望它是unicode,而是汉字的MBCS表示 到目前为止,我能够做到这一点的唯一方法是使用unicode版
到目前为止,我能够做到这一点的唯一方法是使用unicode版本,并使用WideChartMultiByte将其转换为MBCS。我真的需要这样做,还是将其作为字节数组输入?是的,您真的需要这样做。在C++中没有MBCS字符串文字。 (理论上,您可以使用正确的字节执行类似char*s=“…\xa7\f6\d5…”的操作,
但是这将很难书写和阅读。)是的,你确实需要这样做。在C++中没有MBCS字符串文字。 (理论上,您可以使用正确的字节执行类似char*s=“…\xa7\f6\d5…”的操作, 但这将很难书写和阅读。)