您的位置:首页 > 编程语言 > C语言/C++

c语言实现单独显示汉字

2013-11-30 18:57 274 查看
#include <tchar.h>
#include <stdio.h>
#include <string.h>
#include <Windows.h>
#include <locale.h>
//单独显示汉字,显示中文,在vs2008控制台程序中实现
int main()
{
wchar_t wText[]= {L"宽字符转换实例!OK!测试"};
setlocale( LC_ALL, "chs" );
wprintf(L"原宽字符串为:%s\n",wText);
for(int i=0;i<wcslen(wText);i++)
{
wprintf(L"%c\t",wText[i]);
}
wprintf(L"\n");

printf("宽字符长度为:%d\n",wcslen(wText));
//宽字符不能直接输出在shell上,先转换为多字节再输出,就是完整的中文了
int len = WideCharToMultiByte(CP_THREAD_ACP,NULL,wText,-1,NULL,0,NULL,FALSE);
char *psText;
psText = new char[len+1];
memset(psText,0,len);
WideCharToMultiByte (CP_THREAD_ACP,NULL,wText,-1,psText,len+1,NULL,FALSE);
printf("转换为多字节后的长度为:%d\n",len);
for(int j=0;j<len;j+=2)
{
char tx[20]={0};
//两个字符来显示一个中文。。。其他的办法不知道了。
sprintf(tx,"%c%c",psText[j],psText[j+1]);
printf("%s\t",tx);
///printf("%c%c\n",psText[j],psText[j+1]);

}
printf("\n");

getchar();
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: