vc++/c++ 汉字取拼音首字母
这两天花了点时间,项目中要求从汉字姓名中取出首字母,在网上试了好多个都没成功,后来根据一个比较简单的拿来改了一下。终于成功了。
win32控制台应用程序,unicode编码。测试过一些汉字,成功取出。不多说,直接上代码,因为我也不清楚原理。先用上再说。
// test2.cpp : 定义控制台应用程序的入口点。
//#include "stdafx.h"void FirstLetter(int nCode, char& strRet);
void GetFirstLetter(char* strName, char* strFirstLetter, int nLen)
{int ucHigh, ucLow; int nCode;char strRet;memset(strFirstLetter, 0, sizeof(nLen));int len = 0; int nameLen = (int)strlen(strName);for(int i=0; i < nameLen; i += 2){ucHigh = (int)(strName[i + 0] & 0xFF);ucLow = (int)(strName[i + 1] & 0xFF);if(ucHigh < 0xa1 || ucLow < 0xa1){continue;}else{nCode = (ucHigh - 0xa0) * 100 + ucLow - 0xa0;}FirstLetter(nCode, strRet);strFirstLetter[len] = strRet;len ++; }strFirstLetter[len] = '\0';
}
void FirstLetter(int nCode, char& strLetter)
{ if(nCode >= 1601 && nCode < 1637) strLetter = 'A';if(nCode >= 1637 && nCode < 1833) strLetter = 'B';if(nCode >= 1833 && nCode < 2078) strLetter = 'C';if(nCode >= 2078 && nCode < 2274) strLetter = 'D';if(nCode >= 2274 && nCode < 2302) strLetter = 'E';if(nCode >= 2302 && nCode < 2433) strLetter = 'F';if(nCode >= 2433 && nCode < 2594) strLetter = 'G';if(nCode >= 2594 && nCode < 2787) strLetter = 'H';if(nCode >= 2787 && nCode < 3106) strLetter = 'J';if(nCode >= 3106 && nCode < 3212) strLetter = 'K';if(nCode >= 3212 && nCode < 3472) strLetter = 'L';if(nCode >= 3472 && nCode < 3635) strLetter = 'M';if(nCode >= 3635 && nCode < 3722) strLetter = 'N';if(nCode >= 3722 && nCode < 3730) strLetter = 'O';if(nCode >= 3730 && nCode < 3858) strLetter = 'P';if(nCode >= 3858 && nCode < 4027) strLetter = 'Q';if(nCode >= 4027 && nCode < 4086) strLetter = 'R';if(nCode >= 4086 && nCode < 4390) strLetter = 'S';if(nCode >= 4390 && nCode < 4558) strLetter = 'T';if(nCode >= 4558 && nCode < 4684) strLetter = 'W';if(nCode >= 4684 && nCode < 4925) strLetter = 'X';if(nCode >= 4925 && nCode < 5249) strLetter = 'Y';if(nCode >= 5249 && nCode < 5590) strLetter = 'Z';
} int _tmain(int argc, _TCHAR* argv[])
{char pTemp[] = "中华人民共和国";int nameLen = (int)strlen(pTemp);char pTemp1[128];//保存汉字的首字母GetFirstLetter(pTemp,pTemp1,128);cout << pTemp1 << endl;getchar();return 0;
}
vc++/c++ 汉字取拼音首字母相关推荐
- java取拼音首字母_java怎么根据汉字获取字的拼音首字母
展开全部 这里可以使用62616964757a686964616fe58685e5aeb931333363393633 pinyin4. jar包来进行转化,pinyin4. jar可以自行在网上进行 ...
- php mysql 拼音首字母,Mysql应用MySQL查询汉字的拼音首字母实例教程
<Mysql应用MySQL查询汉字的拼音首字母实例教程>要点: 本文介绍了Mysql应用MySQL查询汉字的拼音首字母实例教程,希望对您有用.如果有疑问,可以联系我们. 导读:最好的方法还 ...
- mysql hzpy_MySQL 实现查询汉字的拼音首字母 的字拼音
的字拼音 MySQL 实现查询汉字的拼音首字母 时间:2010-04-06 12:23:22 类别:技术 访问:1,314 views RSS 2.0 评论 其实最好的方法还是用 PHP 来取拼音首字 ...
- Excel2007将汉字转换为拼音首字母
Excel2007将汉字转换为拼音首字母 一.打开Excel,按下"Alt+F11"组合键,弹出"Visual Basic编辑器" 二.点击"Visu ...
- mysql查询汉字拼音首字母_MySQL查询汉字的拼音首字母实例教程
最好的方法还是用 PHP 来取拼音首字母,在 MySQL 里新建一个字段来存放 php 里查询汉字的拼音首字母已经有很多参考的代码了. 现在给出在mysql 里实现的, 测试环境是mysql-5.0. ...
- java汉字的拼音首字母_Java 获取汉字的拼音首字母
Java 获取汉字的拼音首字母: pom.xml 引用 pinyin4j 包: com.belerweb pinyin4j 2.5.0 PinyinUtil 类: package com.xxx.co ...
- php mysql首字母查询_MySQL应用技巧实现查询汉字的拼音首字母
其实最好的方法还是用 PHP 来取拼音首字母,在 MySQL 里新建一个字段来存放 php 里查询汉字的拼音首字母已经有很多参考的代码了. 现在给出在mysql 里实现的, 测试环境是mysql-5. ...
- android 获取拼音首字母,Android开发 - 汉字转拼音首字母
概述 工作中经常会遇到的一些排序问题,比如 按汉字的拼音首字母排序,比如人名排序等,就要用到下面的方法了,思路: 1.获得汉字 2.将汉字转换成首字母,并记录下(必要时保存到数据库) 3.按首字母进行 ...
- java怎样获取汉字的首字母_[JAVA]获得汉字的拼音首字母
--sunfruit 提供了获得汉字的拼音首字母的方法 JDK版本 无版本限制 功能 实现了获得一个汉字的拼音首字母功能,为汉字排序提供了方便 欢迎大家提意见,交流 代码如下: /** * ...
- ajax返回的数据怎么显示出来_Excel输入汉字、拼音首字母就能显示数据出来,录数据时逐步提示...
在办公中经常需要录入数据,特别是财务,人力资源,采购这块,经常需要 如果经常复制.粘贴很累,即使用到数据有效性进行设置,数据量多了,也不好选择. 所以,这里介绍两个Excel插件E灵和EXCEL必备工 ...
最新文章
- 宝马520自动挡的右边前轮处响声
- onedrive目录PHP源码,另一个OneDrive目录索引应用 OLAINDEX
- Android查看挂载的分区(如oem)
- 解决Git中fatal: refusing to merge unrelated histories
- 升级php7_PhpStorm 2019.3 发布,全面支持 PHP 7.4
- 水晶报表设置二维码_随时随地数据分析?老板喜欢的移动端报表,我用这七步做出来了...
- htm怎么让图片和搜索框在同一行_对于优化来说,内链应该怎么使用你知道吗?...
- Mysql5.6.x版本半同步主从复制的开启方法
- mysql 上级组织参数值_MYSQL组织结构设计构思(快速查上级和下级)
- 使用opensl 的BufferQueueAudioPlayer对wav文件的播放
- 从Gauss-Newton算法到 LM算法 (详细推导及MATLAB实现、多自变量问题)
- Java实现静态代理
- 解决jsp页面引入百度编辑器,出现xss漏洞
- strick-footer 粘边布局
- jQuery插件,UI
- libpng16.so.16错误
- 意想不到!这个神奇的bug让我加班到深夜
- Pr安装完BCC插件后出现“找不到引入口”的窗口,从而使用不了Pr怎么办------如何卸载BCC,重新启用P
- 新手上路,请大家多多关照~
- Google首席软件工程师Joshua Bloch谈如何设计一款优秀的API【转载】