| 项目搜索 |
| |
|
代码片段库:
查看代码片段
浏览
| 提交新的代码片段
| 创建代码包
多字节函数库系列:cymbs.h
|
类型:
Function |
类别:
Other
|
许可证:
GNU Library Public License |
语言:
C++
|
描述:
此头文件声明了有关多字节字符串处理的一般函数。
|
该代码片段的版本系列:
片段ID |
下载版本 |
提交时间 |
提交人 |
删除 |
4564 | 0.1 | 2002-06-26 20:04 | renxiao | |
点击"下载版本"来下载该代码片段.
最新版本的代码片段: 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.
如果您修改了一个代码片段并且觉得很应该让别人共享,您可以把这作为这个代码片段的最新版本提交上来. |
|