C++字符串函数全集



1  

 

[

]

 

 

 

void 

*memset(void 

*dest, 

int 

c, 

size_t 

count);

 

 

dest

前面

count

个字符置为字符

c. 

 

返回

dest

的值

 

void 

*memmove(void 

*dest, 

const 

void 

*src, 

size_t 

count);

 

 

src

复制

count

字节的字符到

dest. 

如果

src

dest

出现重叠

函数会自动处理

 

返回

dest

的值

 

void 

*memcpy(void 

*dest, 

const 

void 

*src, 

size_t 

count);

 

 

src

复制

count

字节的字符到

dest. 

memmove

功能一样

只是不能处理

src

dest

出现重叠

 

返回

dest

的值

 

void 

*memchr(const 

void 

*buf, 

int 

c, 

size_t 

count);

 

 

buf

前面

count

字节中查找首次出现字符

c

的位置

找到了字符

c

或者已经搜寻了

count

个字节

查找即停止

 

操作成功则返回

buf

中首次出现

c

的位置指针

否则返回

NULL. 

 

void 

*_memccpy(void 

*dest, 

const 

void 

*src, 

int 

c, 

size_t 

count);

 

 

src

复制

0

个或多个字节的字符到

dest. 

当字符

c

被复制或者

count

个字符被复制时

复制停止

 

如果字符

c

被复制

函数返回这个字符后面紧挨一个字符位置的指针

否则返回

NULL. 

 

int 

memcmp(const 

void 

*buf1, 

const 

void 

*buf2, 

size_t 

count);

 

 

比较

buf1

buf2

前面

count

个字节大小

 

返回值

0, 

表示

buf1

小于

buf2; 

 

返回值为

0, 

表示

buf1

等于

buf2; 

 

返回值

0, 

表示

buf1

大于

buf2. 

 

int 

memicmp(const 

void 

*buf1, 

const 

void 

*buf2, 

size_t 

count);

 

 

比较

buf1

buf2

前面

count

个字节

memcmp

不同的是

它不区分大小写

 

返回值同上

 

size_t 

strlen(const 

char 

*string);

 

 

获取字符串长度

字符串结束符

NULL

不计算在内

 

 

没有返回值指示操作错误

 

char 

*strrev(char 

*string);

 

 

将字符串

string

中的字符顺序颠倒过来

NULL

结束符位置不变

 

返回调整后的字符串的指针

 

char 

*_strupr(char 

*string);

 

 

string

中所有小写字母替换成相应的大写字母

其它字符保持不变

 

返回调整后的字符串的指针

 

char 

*_strlwr(char 

*string);

 

 

string

中所有大写字母替换成相应的小写字母

其它字符保持不变

 

返回调整后的字符串的指针

 

char 

*strchr(const 

char 

*string, 

int 

c);

 

 

查找字符

c

在字符串

string

中首次出现的位置

NULL

结束符也包含在查找中

 

返回一个指针

指向字符

c

在字符串

string

中首次出现的位置

如果没有找到

则返回

NULL. 

 

char 

*strrchr(const 

char 

*string, 

int 

c);

 

 

查找字符

c

在字符串

string

中最后一次出现的位置

也就是对

string

进行反序搜索

包含

NULL

结束符

 

返回一个指针

指向字符

c

在字符串

string

中最后一次出现的位置

如果没有找到

则返回

NULL. 

 

char 

*strstr(const 

char 

*string, 

const 

char 

*strSearch);

 

 

在字符串

string

中查找

strSearch

子串

 

返回子串

strSearch

string

中首次出现位置的指针

如果没有找到子串

strSearch, 

则返回

NULL. 

如果子串

strSearc

h

为空串

函数返回

string

 

char 

*strdup(const 

char 

*strSource);

 

 

函数运行中会自己调用

malloc

函数为复制

strSource

字符串分配存储空间

然后再将

strSource

复制到分配到的空间中

.

 

注意要及时释放这个分配的空间

 

返回一个指针

指向为复制字符串分配的空间

如果分配空间失败

则返回

NULL

 

char 

*strcat(char 

*strDestination, 

const 

char 

*strSource);

 

 

将源串

strSource

添加到目标串

strDestination

后面

并在得到的新串后面加上

NULL

结束符

源串

strSource

的字符会

覆盖目标串

strDestination

后面的结束符

NULL. 

在字符串的复制或添加过程中没有溢出检查

所以要保证目标串空间足

够大

不能处理源串与目标串重叠的情况

 

函数返回

strDestination

 

 

char 

*strncat(char 

*strDestination, 

const 

char 

*strSource, 

size_t 

co

unt);

 

 

将源串

strSource

开始的

count

个字符添加到目标串

strDest

源串

strSource

的字符会覆盖目标串

strDestination

后面的结束符

NULL. 

如果

count

大于源串长度

则会用源串的长度值替换

count

得到的新串后面会自动加上

NULL

结束符

strcat

函数一样

本函数不能处理源串与目标串重叠的情况

 

函数返回

strDestination

 

char 

*strcpy(char 

*strDestination, 

const 

char 

*strSource);

 

 

复制源串

strSource

到目标串

strDestination

所指定的位置

包含

NULL

结束符

不能处理源串与目标串重叠的情况

 

函数返回

strDestination

 

char 

*strncpy(char 

*strDestination, 

const 

char 

*strSource, 

size_t 

co

unt);

 

 

将源串

strSource

开始的

count

个字符复制到目标串

strDestination

所指定的位置

如果

count

值小于或等于

strSourc

e

串的长度

不会自动添加

NULL

结束符目标串中

count

大于

strSource

串的长度时

则将

strSource

NULL

结束

符填充补齐

count

个字符

复制到目标串中

不能处理源串与目标串重叠的情况

 

函数返回

strDestination

 

char 

*strset(char 

*string, 

int 

c);

 

 

string

串的所有字符设置为字符

c, 

遇到

NULL

结束符停止

 

函数返回内容调整后的

string

指针

 

char 

*strnset(char 

*string, 

int 

c, 

size_t 

count);

 

 

string

串开始

count

个字符设置为字符

c, 

如果

count

值大于

string

串的长度

将用

string

的长度替换

count

 

函数返回内容调整后的

string

指针

 

size_t 

strspn(const 

char 

*string, 

const 

char 

*strCharSet);

 

 

查找任何一个不包含在

strCharSet

串中的字符

 

(

字符串结束符

NULL

除外

string

串中首次出现的位置序号

 

返回一个整数值

指定在

string

中全部由

characters

中的字符组成的子串的长度

如果

string

以一个不包含在

strChar

Set

中的字符开头

函数将返回

0

 

size_t 

strcspn(const 

char 

*string, 

const 

char 

*strCharSet);

 

 

查找

strCharSet

串中任何一个字符在

string

串中首次出现的位置序号

包含字符串结束符

NULL. 

 

返回一个整数值

指定在

string

中全部由非

characters

中的字符组成的子串的长度

如果

string

以一个包含在

strChar

Set

中的字符开头

函数将返回

0

 

 

char 

*strspnp(const 

char 

*string, 

const 

char 

*strCharSet);

 

 

查找任何一个不包含在

strCharSet

串中的字符

 

(

字符串结束符

NULL

除外

string

串中首次出现的位置指针

 

返回一个指针

指向非

strCharSet

中的字符在

string

中首次出现的位置

 

char 

*strpbrk(const 

char 

*string, 

const 

char 

*strCharSet);

 

 

查找

strCharSet

串中任何一个字符在

string

串中首次出现的位置

不包含字符串结束符

NULL. 

 

返回一个指针

指向

strCharSet

中任一字符在

string

中首次出现的位置

如果两个字符串参数不含相同字符

则返回

NU

LL

 

int 

strcmp(const 

char 

*string1, 

const 

char 

*string2);

 

 

比较字符串

string1

string2

大小

 

返回值

0, 

表示

string1

小于

string2; 

 

返回值为

0, 

表示

string1

等于

string2; 

 

返回值

0, 

表示

string1

大于

string2. 

 

int 

stricmp(const 

char 

*string1, 

const 

char 

*string2);

 

 

比较字符串

string1

string2

大小,和

strcmp

不同

比较的是它们的小写字母版本

 

返回值与

strcmp

相同

 

int 

strcmpi(const 

char 

*string1, 

const 

char 

*string2);

 

 

等价于

stricmp

函数

只是提供一个向后兼容的版本

 

int 

strncmp(const 

char 

*string1, 

const 

char 

*string2, 

size_t 

count);

 

 

比较字符串

string1

string2

大小,只比较前面

count

个字符

比较过程中

任何一个字符串的长度小于

count, 

co

unt

将被较短的字符串的长度取代

此时如果两串前面的字符都相等

则较短的串要小

 

返回值

0, 

表示

string1

的子串小于

string2

的子串

 

返回值为

0, 

表示

string1

的子串等于

string2

的子串

 

返回值

0, 

表示

string1

的子串大于

string2

的子串

 

int 

strnicmp(const 

char 

*string1, 

const 

char 

*string2, 

size_t 

count);

 

 

比较字符串

string1

string2

大小,只比较前面

count

个字符

strncmp

不同的是

比较的是它们的小写字母版本

 

返回值与

strncmp

相同

 

char 

*strtok(char 

*strToken, 

const 

char 

*strDelimit);

 

 

strToken 

串中查找下一个标记

strDelimit

字符集则指定了在当前查找调用中可能遇到的分界符

 

 

返回一个指针

指向在

strToken

中找到的下一个标记

如果找不到标记

就返回

NULL

每次调用都会修改

strToken

内容

NULL

字符替换遇到的每个分界符

.

1  

 

C++

字符串函数详解

[

]

 

 

转载自:

http://zhanglong2004.spaces.live.com/?owner=1 

 

void 

*memset(void 

*dest, 

int 

c, 

size_t 

count);

 

 

dest

前面

count

个字符置为字符

c. 

 

返回

dest

的值

 

void 

*memmove(void 

*dest, 

const 

void 

*src, 

size_t 

count);

 

 

src

复制

count

字节的字符到

dest. 

如果

src

dest

出现重叠

函数会自动处理

 

返回

dest

的值

 

void 

*memcpy(void 

*dest, 

const 

void 

*src, 

size_t 

count);

 

 

src

复制

count

字节的字符到

dest. 

memmove

功能一样

只是不能处理

src

dest

出现重叠

 

返回

dest

的值

 

void 

*memchr(const 

void 

*buf, 

int 

c, 

size_t 

count);

 

 

buf

前面

count

字节中查找首次出现字符

c

的位置

找到了字符

c

或者已经搜寻了

count

个字节

查找即停止

 

操作成功则返回

buf

中首次出现

c

的位置指针

否则返回

NULL. 

 

void 

*_memccpy(void 

*dest, 

const 

void 

*src, 

int 

c, 

size_t 

count);

 

 

src

复制

0

个或多个字节的字符到

dest. 

当字符

c

被复制或者

count

个字符被复制时

复制停止

 

如果字符

c

被复制

函数返回这个字符后面紧挨一个字符位置的指针

否则返回

NULL. 

 

int 

memcmp(const 

void 

*buf1, 

const 

void 

*buf2, 

size_t 

count);

 

 

比较

buf1

buf2

前面

count

个字节大小

 

返回值

0, 

表示

buf1

小于

buf2; 

 

返回值为

0, 

表示

buf1

等于

buf2; 

 

返回值

0, 

表示

buf1

大于

buf2. 

 

int 

memicmp(const 

void 

*buf1, 

const 

void 

*buf2, 

size_t 

count);

 

 

比较

buf1

buf2

前面

count

个字节

memcmp

不同的是

它不区分大小写

 

返回值同上

 

size_t 

strlen(const 

char 

*string);

 

 

获取字符串长度

字符串结束符

NULL

不计算在内

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值