中文简体转繁体
#include <Windows.h>
#include <iostream>
using namespace std;
//中国->中國
char* Simple2Tra(char* szBuf)
{
if (!strcmp(szBuf, ""))
return NULL;
int nReturn = LCMapString(LOCALE_SYSTEM_DEFAULT, LCMAP_TRADITIONAL_CHINESE, szBuf, -1, NULL, 0);
char *pcBuf = new char[nReturn];
LCMapString(LOCALE_SYSTEM_DEFAULT, LCMAP_TRADITIONAL_CHINESE, szBuf, -1, pcBuf, nReturn);
return pcBuf;
}
//中國->中国
char* Tra2Simple(char* szBuf)
{
if (!strcmp(szBuf, ""))
return NULL;
int nReturn = LCMapString(LOCALE_SYSTEM_DEFAULT, LCMAP_SIMPLIFIED_CHINESE, szBuf, -1, NULL, 0);
char *pcBuf = new char[nReturn];
LCMapString(LOCALE_SYSTEM_DEFAULT, LCMAP_SIMPLIFIED_CHINESE, szBuf, nReturn, pcBuf, nReturn);
return pcBuf;
}
void main()
{
char* simWord = "中国我是大笨猪石教兵的哈代表萨卡的扩散法师";
char* traWord = Simple2Tra(simWord);
cout << simWord << "->" << traWord << endl;
char* simWord2 = Tra2Simple(traWord);
cout << traWord << "->" << simWord2 << endl;
getchar();
}