OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3941|回复: 2

拼音输入法试验问题请教

[复制链接]

49

主题

77

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
331
金钱
331
注册时间
2013-3-27
在线时间
9 小时
发表于 2013-5-8 08:49:29 | 显示全部楼层 |阅读模式
//获取匹配的拼音码表
//*strin,输入的字符串,形如:"726"
//**matchlist,输出的匹配表.
//返回值:[7],0,表示完全匹配;1,表示部分匹配(仅在没有完全匹配的时候才会出现)
//   [6:0],完全匹配的时候,表示完全匹配的拼音个数
//      部分匹配的时候,表示有效匹配的位数         
u8 get_matched_pymb(u8 *strin,py_index **matchlist)
{
 py_index *bestmatch;//最佳匹配
 u16 pyindex_len;
 u16 i;
 u8 temp,mcnt=0,bmcnt=0;
 bestmatch=(py_index*)&py_index3[0];//默认为a的匹配
 pyindex_len=sizeof(py_index3)/sizeof(py_index3[0]);//得到py索引表的大小.
 for(i=0;i<pyindex_len;i++)
 {
  temp=str_match(strin,(u8*)py_index3.py_input);
  if(temp)
  {
   if(temp==0XFF)matchlist[mcnt++]=(py_index*)&py_index3;
   else if(temp>bmcnt)//找最佳匹配
   {
    bmcnt=temp;
       bestmatch=(py_index*)&py_index3;//最好的匹配.
   }
  }
 }
 if(mcnt==0&&bmcnt)//没有完全匹配的结果,但是有部分匹配的结果
 {
  matchlist[0]=bestmatch;
  mcnt=bmcnt|0X80;  //返回部分匹配的有效位数
 }
 return mcnt;//返回匹配的个数
}

其中:bestmatch=(py_index*)&py_index3[0];//默认为a的匹配
的注释是不是错了,默认应该没匹配的吧py_index3[0]={"" ,"",(u8*)PY_mb_space}



正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-5-8 11:07:13 | 显示全部楼层
回复【楼主位】朱静:
---------------------------------
是的,注释有问题。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

79

主题

399

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1829
金钱
1829
注册时间
2015-9-21
在线时间
561 小时
发表于 2019-1-10 13:32:39 | 显示全部楼层
看的我抓耳挠腮的!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-23 00:48

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表