

全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
用 strcoll 实现中文按拼音排序C 语言从 C94 引入多语言支持以后处理中文方便多了。即使不用 wchar_t 也可以获得很多好处,比如增加了 strcoll 这个根据 locale 比较字符串的函数。简单地说,一个 locale 就是一组处理跟语言相关问题的规则,这里有一篇简介。这些规则就包括如何对字符串进行比较和排序。按照 C94 及 C99 标准的规定,程序在启动时设置 locale 为 C。在 C locale 下,字符串的比较就是按照内码一个字节一个字节地进行,这时 strcoll 与 strcmp 函数没有区别。在其他 locale 下,字符串的比较方式则不同了,例如在简体中文 locale 下,strcmp 仍然按内码比较,而 strcoll 对于汉字则是按拼音进行的(这也跟操作系统有关,Windows 还支持按笔划排序,可以在“区域和语言设置”里面修改)。在 C 语言里面,用 setlocale 函数设置当前 locale,在程序开头使用一句 setlocale (LC_ALL, ); 就可以了。第二个参数为空串表示依照操作系统的当前设置。下面是一个示例程序(须使用 C 编译器;如果要用 C+ 编译器,还要自己封装一下 strcoll 或者加一个强制类型转换):#include #include #include #include int main (void) int i; char str104= 镕,堃,趙,錢,孫,李,周,吳,鄭,王; qsort (str, 10, 4, strcoll); printf (按内码排序:); for (i=0; i10; i+) printf (%s, stri); setlocale (LC_ALL, ); qsort (str, 10, 4, strcoll); printf (n按音序排序:); for (i=0; i10; i+) printf (%s, stri); return 0;程序输出(操作系统 GNU/Linux,locale 为 zh_CN.UTF-8):按内码排序:吳周堃孫李王趙鄭錢镕按音序排序:堃李錢镕孫王吳趙鄭周程序输出(操作系统 Windows, locale 为 Chinese_Peoples Republic of China.936):按内码排序:吳堃孫李王周趙鄭錢镕按音序排序:堃李錢镕孫王吳趙鄭周按内码排序的差别是因为两个测试里使用了不同的内码,但可以看出第二行的结果相同。之所以用了生僻字和繁体字为例,是因为一级汉字在 GB2312 里面恰好是按拼音排的,体现不出差别了。另外,使用宽字符
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电站二次监控课件
- 高考化学重庆题讲解课件
- 高级摄影基础知识培训班课件
- 1.4用一元二次方程解决问题 分层练习(含答案)数学苏科版九年级上册
- 音乐三年级下册 卖报歌 课件(内嵌音频)
- GLP-1R-agonist-32-生命科学试剂-MCE
- 5-Azacytosine-15N4-生命科学试剂-MCE
- 初级社工考试题及答案
- 英美拼写考试题及答案
- 电源电路基础知识培训课件
- 2024年贵阳市南明区选聘社区工作者考试真题
- 武消院火灾调查B讲义01电气火灾调查
- 起搏器植入患者全程护理要点
- (2025年标准)会议代办协议书
- 2025年招录考试-工会招聘考试历年参考题库含答案解析(5套典型题)
- 广东省东莞市2024-2025学年八年级下学期7月期末考试英语试卷(含答案)
- 2025年电力工程行业研究报告及未来发展趋势预测
- 保护患者合法权益培训课件
- 2025年湖南省中考语文试卷
- 2025年汽车修理工(高级)实操考试题带答案
- 气道支架植入术后护理查房
评论
0/150
提交评论