C标准库 <string.h>

本文详细介绍了C标准库<string.h>中的多个字符串处理函数,包括字符串比较、复制、连接等功能,以及每个函数的具体使用方法和返回值说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


#include <strings.h>

1、strcasecmp/strncasecmp

int strcasecmp(const char *s1, const char *s2);

**功能:**比较两个字符串,且不区分大小写。

**返回值:**0 相等 ; <0 string1< string2; >0 string1> string2.

**strncasecmp:**可以指定每个字符串用于比较的字符数。

//语法
int strncasecmp(const char *s1, const char *s2, size_t n);

2、index/rindex

char *index(const char *s, int c);

**功能:**用来找出参数s 字符串中第一个出现的参数c 地址,然后将该字符出现的地址返回。字符串结束字符(NULL)也视为字符串一部分。

返回值:如果找到指定的字符则返回该字符所在地址,否则返回NULL

**rindex:**用来找出参数s 字符串中最后一个出现的参数c 地址,然后将该字符出现的地址返回。字符串结束字符(NULL)也视为字符串一部分。

char *rindex(const char *s, int c);

3、stpcpy

char *stpcpy(char *dest, const char *src); //dest为一个目的字符串的指针,src为一个源字符串的指针。

**功能:**把src所指的以“/0”结束的字符串复制到dest所指的数组中。

4、strcat/strncat

char *strcat(char *dest, const char *src);

**作用:**把 src 所指向的字符串追加到 dest 所指向的字符串的结尾。

**返回值:**该函数返回一个指向最终的目标字符串 dest 的指针

5、strchr

char *strchr(const char *s, int c);

**功能:**查找字符串s中首次出现字符c的位置,返回的地址是被查找字符串指针开始的第一个与Val相同字符的指针,如果s中不存在c则返回 NULL

**返回值:**成功则返回要查找字符第一次出现的位置,失败返回NULL

6、strcmp/strncmp

int strcmp(const char *s1, const char *s2);

7、strcoll

int strcoll(const char *s1, const char *s2);

作用:比较字符串s1和s2。功能和strcmp类似,用法也一样.

8、strcpy/strncpy

char *strcpy(char *dest, const char *src);

作用:字符串复制strcpy把从src地址开始且含有’\0’结束符的字符串复制到以dest开始的地址空间

返回值类型:目标串的地址char*

9、strcspn

size_t strcspn(const char *s, const char *reject);

**作用:**检索字符串 s 开头连续有几个字符都不含字符串 reject 中的字符。

返回值:该函数返回s 开头连续都不含字符串 reject 中字符的字符数。

10、strdup

char *strdup(const char *s);

功能:复制字符串s

返回值:返回指向被复制的字符串的指针,所需空间由malloc()分配且可以由free()释放。

11、strfry

char *strfry(char *string);

功能:将一串字符串打乱成任意组合

说明:通过rand()函数将重组字符串string里面的字符,输出任意组合的字符

返回值:返回被打乱了的字符串的指针

12、strlen

size_t strlen(const char *s);

13、strpbrk

char *strpbrk(const char *s, const char *accept);

功能:在源字符串s中找出最先含有搜索字符串accept中任一字符的位置并返回,若找不到则返回空指针。

14、strrchr

char *strrchr(const char *s, int c);  //s为一个字符串的指针,c为一个待查找字符。

作用:查找在s字符串中最后一次出现字符c的位置。

返回说明:如果str中存在字符ch,返回出现ch的位置的指针;否则返回NULL。

15、strsep

 char *strsep(char **stringp, const char *delim);

功能:是用来分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。

返回值:从s开头开始的一个个子串,当没有分割的子串时返回NULL。

16、strspn

size_t strspn(const char *s, const char *accept);

功能:若strcspn()返回的数值为n, 则代表字符串s 连续有n 个字符都包含reject 内的字符.

17、strstr

char *strstr(const char *haystack, const char *needle); //haystack: 被查找目标 needle: 要查找对象

**功能:**函数用于判断字符串needle是否是haystack的子串。如果是,则该函数返回needle在haystack中首次出现的地址;否则,返回NULL。

**返回值:**若needle是haystack的子串,则返回needle在haystack的首次出现的地址;如果needle不是haystack的子串,则返回NULL。

18、strtok

 char *strtok(char *s, const char *delim);

**作用:**分解字符串为一组字符串。s为要分解的字符,delim为分隔符字符(如果传入字符串,则传入的字符串中每个字符均为分割符)。首次调用时,s指向要分解的字符串,之后再次调用要把s设成NULL。

**返回值:**从s开头开始的一个个被分割的串。当s中的字符查找到末尾时,返回NULL。如果查找不到delim中的字符时,返回当前strtok的字符串的指针。所有delim中包含的字符都会被滤掉,并将被滤掉的地方设为一处分割的节点。

19、strxfrm

 size_t strxfrm(char *dest, const char *src, size_t n);

**功能:**根据num长度拷贝前num个字符到目的字符串中,并返回源字符串长度。
同时,该函数还可以自作为返回字符串长度,这时num=0,destination允许传入NULL。

**返回值:**返回source字符串的长度,不包含‘\0’。

参数:
des
指向目的字符数组的指针,当num为0时,可以传NULL。
src
要拷贝的源字符串,以‘\0’结尾。
n
最大要拷贝到目的数组的字符的长度。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值