这两天花了点时间,项目中要求从汉字姓名中取出首字母,在网上试了好多个都没成功,后来根据一个比较简单的拿来改了一下。终于成功了。

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++ 汉字取拼音首字母相关推荐

  1. java取拼音首字母_java怎么根据汉字获取字的拼音首字母

    展开全部 这里可以使用62616964757a686964616fe58685e5aeb931333363393633 pinyin4. jar包来进行转化,pinyin4. jar可以自行在网上进行 ...

  2. php mysql 拼音首字母,Mysql应用MySQL查询汉字的拼音首字母实例教程

    <Mysql应用MySQL查询汉字的拼音首字母实例教程>要点: 本文介绍了Mysql应用MySQL查询汉字的拼音首字母实例教程,希望对您有用.如果有疑问,可以联系我们. 导读:最好的方法还 ...

  3. mysql hzpy_MySQL 实现查询汉字的拼音首字母 的字拼音

    的字拼音 MySQL 实现查询汉字的拼音首字母 时间:2010-04-06 12:23:22 类别:技术 访问:1,314 views RSS 2.0 评论 其实最好的方法还是用 PHP 来取拼音首字 ...

  4. Excel2007将汉字转换为拼音首字母

    Excel2007将汉字转换为拼音首字母 一.打开Excel,按下"Alt+F11"组合键,弹出"Visual Basic编辑器" 二.点击"Visu ...

  5. mysql查询汉字拼音首字母_MySQL查询汉字的拼音首字母实例教程

    最好的方法还是用 PHP 来取拼音首字母,在 MySQL 里新建一个字段来存放 php 里查询汉字的拼音首字母已经有很多参考的代码了. 现在给出在mysql 里实现的, 测试环境是mysql-5.0. ...

  6. java汉字的拼音首字母_Java 获取汉字的拼音首字母

    Java 获取汉字的拼音首字母: pom.xml 引用 pinyin4j 包: com.belerweb pinyin4j 2.5.0 PinyinUtil 类: package com.xxx.co ...

  7. php mysql首字母查询_MySQL应用技巧实现查询汉字的拼音首字母

    其实最好的方法还是用 PHP 来取拼音首字母,在 MySQL 里新建一个字段来存放 php 里查询汉字的拼音首字母已经有很多参考的代码了. 现在给出在mysql 里实现的, 测试环境是mysql-5. ...

  8. android 获取拼音首字母,Android开发 - 汉字转拼音首字母

    概述 工作中经常会遇到的一些排序问题,比如 按汉字的拼音首字母排序,比如人名排序等,就要用到下面的方法了,思路: 1.获得汉字 2.将汉字转换成首字母,并记录下(必要时保存到数据库) 3.按首字母进行 ...

  9. java怎样获取汉字的首字母_[JAVA]获得汉字的拼音首字母

    --sunfruit 提供了获得汉字的拼音首字母的方法 JDK版本    无版本限制 功能    实现了获得一个汉字的拼音首字母功能,为汉字排序提供了方便 欢迎大家提意见,交流 代码如下: /** * ...

  10. ajax返回的数据怎么显示出来_Excel输入汉字、拼音首字母就能显示数据出来,录数据时逐步提示...

    在办公中经常需要录入数据,特别是财务,人力资源,采购这块,经常需要 如果经常复制.粘贴很累,即使用到数据有效性进行设置,数据量多了,也不好选择. 所以,这里介绍两个Excel插件E灵和EXCEL必备工 ...

最新文章

  1. 宝马520自动挡的右边前轮处响声
  2. onedrive目录PHP源码,另一个OneDrive目录索引应用 OLAINDEX
  3. Android查看挂载的分区(如oem)
  4. 解决Git中fatal: refusing to merge unrelated histories
  5. 升级php7_PhpStorm 2019.3 发布,全面支持 PHP 7.4
  6. 水晶报表设置二维码_随时随地数据分析?老板喜欢的移动端报表,我用这七步做出来了...
  7. htm怎么让图片和搜索框在同一行_对于优化来说,内链应该怎么使用你知道吗?...
  8. Mysql5.6.x版本半同步主从复制的开启方法
  9. mysql 上级组织参数值_MYSQL组织结构设计构思(快速查上级和下级)
  10. 使用opensl 的BufferQueueAudioPlayer对wav文件的播放
  11. 从Gauss-Newton算法到 LM算法 (详细推导及MATLAB实现、多自变量问题)
  12. Java实现静态代理
  13. 解决jsp页面引入百度编辑器,出现xss漏洞
  14. strick-footer 粘边布局
  15. jQuery插件,UI
  16. libpng16.so.16错误
  17. 意想不到!这个神奇的bug让我加班到深夜
  18. Pr安装完BCC插件后出现“找不到引入口”的窗口,从而使用不了Pr怎么办------如何卸载BCC,重新启用P
  19. 新手上路,请大家多多关照~
  20. Google首席软件工程师Joshua Bloch谈如何设计一款优秀的API【转载】

热门文章

  1. 饭卡管理系统学生E-R图
  2. 通信原理第七版樊昌信 课后习题答案详解
  3. 力软的前端_力软快速开发平台,一套完整的管理系统解决方案
  4. 3种终极方法,彻底解决CDR不显示缩略图!
  5. 编程语言c语言vb,c语言和vb语言哪个比较简单
  6. 三菱伺服驱动器说明书_张家港市HG-KN13J-S100三菱伺服控制器
  7. NB-IOT智能云家具项目系列实站
  8. C# WinForm 基础教程
  9. 2021 泰迪杯 C 思路
  10. idea主题下载导入工具