现在的位置: 首页 > 综合 > 正文

字符串操作

2013年08月12日 ⁄ 综合 ⁄ 共 1596字 ⁄ 字号 评论关闭

字符串操作

    要了解字符串操作首先要了解什么是字符串。前面已经提过,字符串是一个由零个或者多个字符组成的有限序列,既然是有限的那么也就意味着字符串存在一个起始位置和一个结束位置。我们以指定起始位置的方式来通知程序从该位置起向后的一段内存空间的内容应该解释为字符串。那么这个字符串在什么地方结束呢?规定当遇到字符“/0”(即ASCII表中的第一个字符)时字符串结束。也就是说在字符串的实际使用过程中,我们必须要做的是指定起始位置,而结束位置由系统根据字符串结束规则去计算。到这里相信很多读者同时联想到这样一个技巧,就是我们可以通过指定某个字节的内容来控制字符串的终止位置。
在Unicode字符集中字符串的结束符同样也是要扩展为两位,即“/0/0”。
    基于上面对于字符集的认识,为了简化需求,仅考虑Windows 2000以上的操作系统,因此本书所有实例均采用Unicode字符集,从而保证程序在字符集处理方面有较好的可移植性。
    基于此,本书直接介绍Unicode相关的字符串处理函数,ANSI的字符串处理函数读者可以自行对比查找。Unicode标准公布后,C++随之出现了一组相关的字符串处理函数,这些函数多以wcs开头,以便与原有的ANSI的字符串处理函数区别,这些函数包括:
•    wchar_t *wcscpy( wchar_t *strDestination, const wchar_t *strSource );
将字符串strSource复制到字符串数组strDestination中,返回strDestination的值。
•    wchar_t *wcsncpy( wchar_t *strDest, const wchar_t *strSource, size_t count );
将字符串strSource中最多count个字符复制到字符串数组strDest中,返回strDest的值。
•    wchar_t *wcscat( wchar_t *strDestination, const wchar_t *strSource );
将字符串strSource添加到字符串strDest的后面,返回strDest的值。
•    wchar_t *wcsncat( wchar_t *strDest, const wchar_t *strSource, size_t count );
将字符串strSource中最多count个字符添加到字符串strDest的后面,返回strDest的值。
•    int wcscmp( const wchar_t *string1, const wchar_t *string2 );
比较字符串string1和字符串string2。函数在string1等于、小于或大于string2时分别返回0、小于0或者大于0的值。
•    int wcsncmp( const wchar_t *string1, const wchar_t *string2, size_t count );
    比较字符串string1和字符串string2中的前count个字符。函数在string1的子字符串等于、小于或大于string2的子字符串时分别返回0、小于0或者大于0的值。
•    wchar_t *wcstok( wchar_t *strToken, const wchar_t *strDelimit );
用一系列wcstok调用将strToken字符串标记化(将字符串分成各个逻辑组件,如同一行文本中的每个单词),用字符串strDelimit所包含的字符分隔。首次调用时包含strToken为第一个参数,后面调用时继续标记化同一字符串,包含NULL为第一个参数。每次调用时返回当前标记指针。如果函数调用时不再有更多标记,则返回NULL。
•    size_t wcslen( const wchar_t *str );
    确定字符串长度,返回NULL终止符之前的字符数。

抱歉!评论已关闭.