VC++----简繁体转换版本2
来源:互联网 发布:淘宝传图片教程视频 编辑:程序博客网 时间:2024/06/01 08:31
转载请注明出处:http://blog.csdn.net/yf210yf/article/details/7854021
- #include <iostream>
- #include <atlstr.h>
- #include <locale.h>
- using namespace std;
- char * BIG52GBK(char *szBuf) ;
- char * GBK2BIG5(char *szBuf) ;
- char * GB2GBK(char *szBuf) ;
- char * GBK2GB(char *szBuf) ;
- void main()
- {
- CString cStr1;
- char str_big5[100] = "い地チ㎝瓣";
- char * rlt_big5=BIG52GBK(str_big5);
- cStr1.Format( "%s",rlt_big5);
- cout<<rlt_big5<<endl;
- char str_gbk[100] = "中華人民共和國";
- char * rlt_gbk=GBK2BIG5(str_gbk);
- cStr1.Format( "%s",rlt_gbk);
- cout<<rlt_gbk<<endl;
- char str_gb2[100] = "中华人民共和国";
- char * rlt_gb2=GB2GBK(str_gb2);
- cStr1.Format( "%s",rlt_gb2);
- cout<<rlt_gb2<<endl;
- char str_gbk2[100] = "中華人民共和國";
- char * rlt_gbk2=GBK2GB(str_gbk2);
- cStr1.Format( "%s",rlt_gbk2);
- cout<<rlt_gbk2<<endl;
- }
- //---------------------------------------------------------------------------
- // 大五码转GBK码:
- // い地チ㎝瓣 --> 中華人民共和國
- char * BIG52GBK(char *szBuf)
- {
- if(!strcmp(szBuf, " "))
- return 0;
- int nStrLen = strlen(szBuf);
- wchar_t *pws = new wchar_t[nStrLen + 1];
- int nReturn = MultiByteToWideChar(950, 0, szBuf, nStrLen, pws, nStrLen + 1);
- BOOL bValue = false;
- nReturn = WideCharToMultiByte(936, 0, pws, nReturn, szBuf, nStrLen + 1, "? ", &bValue);
- szBuf[nReturn] = 0;
- return szBuf;
- }
- //---------------------------------------------------------------------------
- // GBK转大五码
- // 中華人民共和國 --> い地チ㎝瓣
- char * GBK2BIG5(char *szBuf)
- {
- if(!strcmp(szBuf, " "))
- return 0;
- int nStrLen = strlen(szBuf);
- wchar_t *pws = new wchar_t[nStrLen + 1];
- MultiByteToWideChar(936, 0, szBuf, nStrLen, pws, nStrLen + 1);
- BOOL bValue = false;
- WideCharToMultiByte(950, 0, pws, nStrLen, szBuf, nStrLen + 1, "? ", &bValue);
- szBuf[nStrLen] = 0;
- return szBuf;
- }
- //----------------------------------------------------------------------------
- // GB2312码转GBK码
- // 中华人民共和国 --> 中華人民共和國
- char * GB2GBK(char *szBuf)
- {
- if(!strcmp(szBuf, " "))
- return 0;
- int nStrLen = strlen(szBuf);
- DWORD wLCID = MAKELCID(MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED), SORT_CHINESE_PRC);
- int nReturn = LCMapString(wLCID, LCMAP_TRADITIONAL_CHINESE, szBuf, nStrLen, NULL, 0);
- if(!nReturn)
- return 0;
- char *pcBuf = new char[nReturn + 1];
- wLCID = MAKELCID(MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED), SORT_CHINESE_PRC);
- LCMapString(wLCID, LCMAP_TRADITIONAL_CHINESE,szBuf, nReturn, pcBuf, nReturn + 1);
- strncpy(szBuf, pcBuf, nReturn);
- return szBuf;
- }
- //---------------------------------------------------------------------------
- // GBK码转GB2312码
- // 中華人民共和國 --> 中华人民共和国
- char * GBK2GB(char *szBuf)
- {
- if(!strcmp(szBuf, " "))
- return 0;
- int nStrLen = strlen(szBuf);
- WORD wLCID = MAKELCID(MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED), SORT_CHINESE_BIG5);
- int nReturn = LCMapString(wLCID, LCMAP_SIMPLIFIED_CHINESE, szBuf, nStrLen, NULL, 0);
- if(!nReturn)
- return 0;
- char *pcBuf = new char[nReturn + 1];
- wLCID = MAKELCID(MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED), SORT_CHINESE_BIG5);
- LCMapString(wLCID, LCMAP_SIMPLIFIED_CHINESE, szBuf, nReturn, pcBuf, nReturn + 1);
- strncpy(szBuf, pcBuf, nReturn);
- return szBuf;
- }
转载请注明出处:http://blog.csdn.net/yf210yf/article/details/7854021
- VC++----简繁体转换版本2
- VC++----简繁体转换版本2
- VC++用 API 作简繁体转换
- 简繁体转换
- 简繁体转换
- 简繁体转换函数
- 简繁体文档转换
- 简繁体转换.js
- 简繁体转换代码
- 简繁体字转换
- .net实现简繁体转换
- VB汉字简繁体转换
- 中文简繁体转换
- 简繁体文字转换工具
- c# 简繁体转换
- 汉字简繁体转换代码
- C#简繁体转换方法
- SQL简繁体转换
- 匈牙利算法求最大匹配
- 0.ring3-USER32!__ClientLoadLibrary定位.
- easyUI为datagrid创建自定义视图
- 呼叫中心考试的一点意见
- get方式长度限制
- VC++----简繁体转换版本2
- android GestureDetector的用法和介绍
- POJ 1228 Grandpa's Estate (求稳定凸包)
- 关于UC厂商的四象限分布
- oracle 复制数据并插入当前表的语句
- 由于协议错误,会话将被中断。请重新连接到远程计算机
- VS2010编译警告:warning C4996: 'strcpy': This function
- Havel-Hakimi定理(判断一个序列是否可图)
- ubuntu的texteditor不能显示中文