C++宽字符函数

wcsstr
函数原型:wchar_t *wcsstr( const wchar_t *string, const wchar_t *strCharSet );
函数功能:在一个宽字符串string中搜索另一个宽字符串strCharSet,若成功则返回一个指向后者第一次出现的位置,否则返回NULL
说明:返回指向第一次出现needle位置的指针,如果没找到则返回NULL。

wcscat
函数原型:wchar_t *wcscat(wchar_t *strDestination, const wchar_t *strSource);
函数功能:把strSource所指字符串添加到strDestination结尾处,覆盖strDestination结尾处的'\0'并添加'\0'。
说明:strSource和strDestination所指内存区域不可以重叠且strDestination必须有足够的空间来容纳strSource的字符串。
返回值:返回指向strDestination的指针. No return value is reserved to indicate an error.
备注:因为wcscat在strDestination追加strSource前不进行检查,这是一个缓冲区溢出的潜在原因。故使用时应注意。推荐使用wcscat_s替代.

wcschr
函数原型:wchar_t *wcschr(wchar_t *_Str, wchar_t _Ch);
函数重载1:const wchar_t *wcschr(const wchar_t *_Str, wchar_t _Ch);
函数功能:查找字符串_Str中首次出现字符_Ch的位置
说明:返回首次出现_Ch的位置的指针,如果_Str中不存在_Ch则返回NULL

wcscmp
函数原型:int wcscmp(const wchar_t *_Str1, const wchar_t *_Str2);
函数功能:比较字符串_Str1和_Str2
说明:
当_Str1<_Str2时,返回值<0
当_Str1=_Str2时,返回值=0
当_Str1>_Str2时,返回值>0
即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。
如: "A"<"B" "a">"A" "computer">"compare"

wcscpy
函数原型:wchar_t *wcscpy(wchar_t *_Dest, const wchar_t *_Source);
函数功能:把_Source所指由NULL结束的字符串复制到_Dest所指的数组中
说明:_Source和_Dest所指内存区域不可以重叠且_Dest必须有足够的空间来容纳_Source的字符串。 返回指向_Dest的指针

wcscspn
函数原型:size_t wcscspn(const wchar_t *_Str, const wchar_t *_Control);
函数功能:按顺序在字符串_Str中搜寻与_Control中字符的第一个相同字符,返回这个字符在_Str中第一次出现的位置
说明:(返回第一个出现的字符在_Str中的下标值,亦即在_Str中出现而_Control中没有出现的子串的长度。)
简单地说,若wcscspn()返回的数值为n,则代表字符串_Str开头连续有n个字符都不含字符串_Control内的字符。

wcslen
函数原型:size_t wcslen(const wchar_t *_Str);
函数功能:计算字符串_Str的(unsigned int型)长度
说明:返回_Str的长度,不包括结束符NULL

wcsncat
函数原型:wchar_t * wcsncat(wchar_t *_Dest, const wchar_t *_Source, size_t _Count);
函数功能:把_Source所指字符串的前n个字符添加到_Dest结尾处(覆盖_Dest结尾处的'\0')并添加'\0'。
说明:_Source和_Dest所指内存区域不可以重叠且_Dest必须有足够的空间来容纳_Source的字符串。 返回指向_Dest的指针。

wcsncmp
函数原型:int wcsncmp(const wchar_t *_Str1, const wchar_t *_Str2, size_t _MaxCount);
函数功能:比较字符串
说明:比较字符串_Str1和_Str2的大小,如果_Str1小于_Str2,返回值就<0,反之如果_Str1大于_Str2,返回值就>0,如果_Str1等于_Str2,返回值就=0,_MaxCount指的是_Str1与_Str2的比较的字符数。此函数功能即比较字符串_Str1和_Str2的前_MaxCount个字符。

wcsncpy
函数原型:wchar_t * wcsncpy(wchar_t *_Dest, const wchar_t *_Source, size_t _Count);
函数功能:将字符串_Source中最多_Count个字符复制到字符数组_Dest中(它并不像wcscpy一样遇到NULL才停止复制,而是等凑够_Count个字符才开始复制),返回指向_Dest的指针
说明:如果_Count > _Source串长度,_Dest栈空间溢出产生崩溃异常

wcspbrk
函数原型:wchar_t * wcspbrk(wchar_t *_Str, const wchar_t *_Control);
函数重载1:const wchar_t * wcspbrk(const wchar_t *_Str, const wchar_t *_Control);
函数功能:在字符串_Str中寻找字符串_Control中任何一个字符相匹配的第一个字符的位置,空字符NULL不包括在内
说明:返回指向_Str中第一个相匹配的字符的指针,如果没有匹配字符则返回空指针NULL

wcsrchr
函数原型:wchar_t * wcsrchr(wchar_t *_Str, wchar_t *_Ch);
函数重载1:const wchar_t * wcsrchr(const wchar_t *_Str, wchar_t *_Ch);
函数功能:查找字符在指定字符串中从后面开始的第一次出现的位置,如果成功,则返回指向该位置的指针,如果失败,则返回 false

wcsspn
函数原型:size_t wcsspn(const wchar_t *_Str, const wchar_t *_Control);
函数功能:返回字符串中第一个在指定字符串中出现的字符下标
说明:wcsspn()从参数_Str字符串的开头计算连续的字符,而这些字符都完全是_Control所指字符串中的字符。简单的说,若wcsspn()返回的数值为n,则代表字符串_Str开头连续有n个字符都是属于字符串_Control内的字符

wcstol
函数原型:long wcstol(const wchar_t *_Str, wchar_t **_EndPtr, int _Radix);
函数功能:这个函数会将参数_Str字符串根据参数_Radix来转换成长整型数。参数_Radix范围从2至36,或0。参数_Radix代表采用的进制方式,如_Radix值为10则采用10进制,若_Radix值为16则采用16进制等。当_Radix值为0时则是采用10进制做转换,但遇到如'0x'前置字符则会使用16进制做转换、遇到'0'前置字符而不是'0x'的时候会使用8进制做转换。一开始wcstol()会扫描参数_Str字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时('\0')结束转换,并将结果返回。若参数_EndPtr不为NULL,则会将遇到不合条件而终止的_Str中的字符指针由_EndPtr返回

原文链接: https://www.cnblogs.com/retrun/archive/2011/01/08/1930527.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    C++宽字符函数

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/19809

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月7日 下午9:06
下一篇 2023年2月7日 下午9:09

相关推荐