C++ VisualStudio2010是否支持C++;Unicode源代码,Unicode字符为字符串文字
我想在字符串文本中直接嵌入非ASCII Unicode字符,并在printf中使用它们。这意味着我的源代码必须保存在utf-8或utf-16中。VisualStudio 2010支持以任何格式编辑和保存C++源文件。但在编译和执行时,它不会生成正确的unicode字符。编译器是否支持嵌入unicode字符的字符串文字 e、 gC++ VisualStudio2010是否支持C++;Unicode源代码,Unicode字符为字符串文字,c++,visual-studio-2010,unicode-string,C++,Visual Studio 2010,Unicode String,我想在字符串文本中直接嵌入非ASCII Unicode字符,并在printf中使用它们。这意味着我的源代码必须保存在utf-8或utf-16中。VisualStudio 2010支持以任何格式编辑和保存C++源文件。但在编译和执行时,它不会生成正确的unicode字符。编译器是否支持嵌入unicode字符的字符串文字 e、 g 测试宽文本的简单方法是跳过printf的格式化部分,将字符串直接发送到操作系统:WriteConsoleW(GetStdHandle(STD\u OUTPUT\u HAN
测试宽文本的简单方法是跳过
printf
的格式化部分,将字符串直接发送到操作系统:WriteConsoleW(GetStdHandle(STD\u OUTPUT\u HANDLE),L“汉字:中文字", ...
测试宽文本的简单方法是跳过printf
的格式化部分,将字符串直接发送到操作系统:WriteConsoleW(GetStdHandle(STD\u OUTPUT\u HANDLE),L“汉字:中文字“,…
有可能您需要的是#pragma setlocale。有可能您需要的是#pragma setlocale。我没有中文版本的Windows可供测试,所以这完全是猜测
控制台和文件输出函数知道文件不是用UTF-16编码的,因此它们会在输出前尝试将字符转换为代码页“而不是基于您的系统设置,因此默认代码页也可能是不合适的,不包括中文字符
有一个函数可以更改控制台的代码页。不清楚此函数是否会更改实际控制台窗口使用的代码页,或者它是否只影响程序中Unicode的转换。我没有中文版本的Windows可供测试,因此这完全是猜测 console和file output函数知道文件不是用UTF-16编码的,所以它们会在输出之前尝试将字符转换为代码页。正如默认的语言环境是“C”而不是基于您的系统设置,因此默认代码页也可能是不合适的,不包括中文字符 有一个函数可以更改控制台的代码页。不清楚此函数是否会更改实际控制台窗口使用的代码页,或者它是否只影响程序内从Unicode进行的转换。可能重复的
wprintf(L" chinese characters:中文字\n"); the trailing chinese characters cannot be displayed