ENGLISH 意见建议 网站地图 网站帮助
广泛智力汇聚   高效成果传播   先进机制培育
联盟首页  |  协同开发  |  开放源码库  |  安全告警  |  开源导航  |  文档中心  |  服务支持  |  共创论坛  |  关于联盟


注册会员 网站帮助
    您的位置 »
    今天是: 2010年11月22日    
项目搜索

完全匹配   
开源软件
软件分类表
新发布软件
其它网站镜像
代码片断
协同开发
文档
论坛
寻求协助
热点项目
站点状态
编译工厂

联系我们
关于联盟

代码片段库:
查看代码片段

浏览 | 提交新的代码片段 | 创建代码包

多字节函数库系列:cymbs.h

类型:
Function
类别:
Other
许可证:
GNU Library Public License
语言:
C++
 
描述:
此头文件声明了有关多字节字符串处理的一般函数。

该代码片段的版本系列:

片段ID 下载版本 提交时间 提交人 删除
45640.12002-06-26 20:04renxiao

点击"下载版本"来下载该代码片段.


最新版本的代码片段: 0.1


/*: cymbs.h --Own_lib函数库系列------------------------------------------------
libcyfunc.a
说明: 此头文件声明了有关多字节字符串的一般函数.
作者: 任逍 |2002.06.15.~
版权: GNU GPL/LGPL

! 编辑器: vim-6.0 |操作系统: TurboLinux7.0简体中文版
------------------------------------------------------------------------------*/

#ifndef __CY_CYMBS_H__
# define __CY_CYMBS_H__


//&: mbslen.cc ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//字符计数: 与locale有关的多字节字符计数

size_t  cy_mbslen(const char * string, const char * locale_ctype = NULL);

/*
描述: 当处理多字节文本文件(如中文)时, 如欲获得字符串的字节数, 可调用标准strlen()
      函数, 但那是字节数而非字符数, 与locale有关的mbstowcs()标准函数可完成这一任
      务. 为函数名的"一致性", 这里封装cy_mbslen(), 并提供临时改变locale的灵活性.
string:
      需检测字符数的多字节字符串.
locale_ctype = NULL:
      读入字串所属的LC_CTYPE区域(语系/编码). 一般程序开头已经设定, 故此可不管它.
返回值:
      返回待检测字符串string的字符数.

注意! 传入区域字符串后函数将临时改变系统"LC_CTYPE"的设置. 在退出时会恢复其原
      来的设置.

TimeFrom: 2002.06.15.
*/
//&!


//&: mltlen.cc ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//字符计数: 利用iconv转换的多字节字符计数(与locale无关)

size_t  cy_mltlen(const char * string, const char * encode);

/*
描述: 当处理多字节文本文件(如中文)时, 如欲获得字符串的字节数, 可调用标准strlen()
      函数, 但那是字节数而非字符数. mbstowcs()标准函数可完成这一任务, 但它又与环
      境的locale设置有关. 
      利用iconv转换函数, 我们可独立于系统locale设置而操作多字节字符串, 本函数检
      测并返回多字节字符串的字符数.
string:
      需检测字符数的多字节字符串.
encode:
      源字符串的编码类型字符串(如中文的"GB2312"/"Big5"/"GB18030"等).
返回值:
      返回待检测字符串string的字符数, 如果碰到错误返回-1.

TimeFrom: 2002.06.15.
*/
//&!

#endif	// define __CY_CYMBS_H__ end.


		

提交新版本

如果您修改了一个代码片段并且觉得很应该让别人共享,您可以把这作为这个代码片段的最新版本提交上来.


联盟团体会员
合作伙伴
© 共创软件联盟 版权所有
联盟服务条款 | 联盟隐私权规则 | 联系我们
电话: (8610)68313388-5949 | 传真: (8610)88377936
京ICP备05056057号