汉字如何按照音序排列?

shangke_sks 2005-04-14 04:31:46
我使用strcmp,发现绝大部分汉字是按照音序排列的。但有例外

例如 陶 佟 王 这三个汉字,用strcmp排序后,顺序为 陶 王 佟 。

三个汉字的编码分别为 陶:CC D9 佟:D5 A1 王:CD F5

在combobox中的sort功能,汉字排序做的很好,不知道是如何实现的。
...全文
612 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
everandforever 2005-04-15
  • 打赏
  • 举报
回复
我装系统经常会把"微软拼音输入法"给删了,那上面的代码岂不无用.
James_ht 2005-04-15
  • 打赏
  • 举报
回复
关注!
gsen 2005-04-14
  • 打赏
  • 举报
回复
up
vcmute 2005-04-14
  • 打赏
  • 举报
回复
LPCANDIDATELIST pcl=(LPCANDIDATELIST)malloc(dwGCL);
ImmGetConversionList(hkls[i], 0, szChinese,pcl, dwGCL, GCL_REVERSECONVERSION);
pcl->dwOffset;//就是
free(pcl);pcl = NULL;
vcmute 2005-04-14
  • 打赏
  • 举报
回复
HKL hkls[20];
char szName[256],szChinese[]="佟";
DWORD dwGCL ;
int iMaxKey, iCount = GetKeyboardLayoutList(20,hkls);
for(int i=0;i<iCount;++i)
if((ImmEscape(hkls[i],0,IME_ESC_IME_NAME,szName)>0) &&(0==strcmp(szName,"微软拼音输入法")))
if((iMaxKey = ImmEscape(hkls[i], 0, IME_ESC_MAX_KEY, NULL))>0)
if(dwGCL= ImmGetConversionList(hkls[i], 0,szChinese , NULL,0, GCL_REVERSECONVERSION))
{
LPCANDIDATELIST pcl=new CANDIDATELIST[dwGCL];
ImmGetConversionList(hkls[i], 0, szChinese,pcl, dwGCL, GCL_REVERSECONVERSION);
pcl[0].dwOffset;//就是
delete pcl;pcl = NULL;
}
参考http://www.hosp.ncku.edu.tw/~cww/html/q00456.html
vcmute 2005-04-14
  • 打赏
  • 举报
回复
gb2312共六千多个中只有约一半是按照拼音序的,就别说GBK了
cnwww 2005-04-14
  • 打赏
  • 举报
回复
GB中汉字编码是按照拼音序的。
Trashy 2005-04-14
  • 打赏
  • 举报
回复
Up~
everandforever 2005-04-14
  • 打赏
  • 举报
回复
关注一下.

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧