Visual Studio 2008怎样输出中文字符?控制台程序中显示是乱码,在VC6老版本中还正常呢……[解决办法]这个需要
Visual Studio 2008怎样输出中文字符?
控制台程序中显示是乱码,在VC6老版本中还正常呢……
[解决办法]
这个需要通过函数设置区域代码的,好象是 936什么的,查下就知道了
[解决办法]
printf("中文输出");
[解决办法]
- C/C++ code
// C风格字符串转换到宽字节 输出的源代码#include <iostream>#include <windows.h>using namespace std;int main(){ setlocale ( LC_ALL, "" ); // 用这句 GCC 和 VC编译器都支持输出宽字节,下面这句只支持VC// wcout.imbue(locale( "chs")); //需要设置imbue才能输出中文字符 // set locale to argument char *s = "一二三四五六七八"; DWORD dwNum = MultiByteToWideChar(CP_ACP, 0, s, -1, NULL, 0); // 转换成 宽字节大小9 (8+1) WCHAR *wch = new WCHAR[dwNum]; // 按宽字节 new 内存 memset(wch, 0, dwNum*sizeof(wchar_t)); // 全置0 可以用这句 memset(wch, 0, sizeof(wch)); // memset( the_array, '\0', sizeof(the_array) ); 这是将一个数组的所以分量设置成零的很便捷的方法 MultiByteToWideChar(CP_ACP, 0, s, -1, wch, dwNum*sizeof(wchar_t)); //s转换到宽字节wch wcout << wch << endl; // 宽字节输出 return 0;} 