C语言基础语法第七章字符串 demo5_字符常用操作函数(strlen、strcpy、assert、strcat、strcmp、strncmp、strchr、strstr、strtok)

C语言基础语法第七章字符串 demo5_字符常用操作函数(strlen、strcpy、strncpy、assert、strcat、strcmp、strncmp、strchr、strstr、strtok)

1.strlen:
在 C 语言中,strlen 是一个用于计算字符串的有效长度的函数,其声明如下:size_t strlen(const char *str);
strlen会计算字符串的有效长度 单不包括字符串的结束标志’\0’
在这里插入图片描述

2.strcpy:
在 C 语言中,strcpy 是一个用于字符串复制的函数,其声明如下:char strcpy(char dest, const char *src);
strcpy 函数接受两个参数:目标字符串 dest 和源字符串 src。它将源字符串的内容复制到目标字符串中,并返回目标字符串的指针。
需要注意的是,目标字符串 dest 必须具有足够的空间来容纳源字符串 src 的内容,否则会导致缓冲区溢出的错误。

3.strncpy:
在 C 语言中,strncpy 是一个用于字符串复制的函数,其声明如下:
char *strncpy(char *dest, const char *src, int n)
表示把src所指向的字符串中以src地址开始的前n个字节复制到dest所指的数组中,并返回被复制后的dest;
strncpy 函数接受三个参数:目标字符串 dest、源字符串 src 和要复制的最大字符数 n。它将源字符串的内容复制到目标字符串中,最多复制 n 个字符。
strncpy 函数会将 n 个字符复制到目标字符串 dest 中,如果源字符串 src 的长度小于 n,则会在复制完字符后填充零字节 (‘\0’),以保证目标字符串的长度为 n。
需要注意的是,如果源字符串 src 的长度大于或等于 n,则目标字符串 dest 不会自动添加结尾的零字节 (‘\0’)。因此,在使用 strncpy 复制后,需要手动添加结尾的零字节。
在这里插入图片描述

4.assert:
assert(des != NULL && src !=NULL);
通过assert进行空判断,assert 的作用是先计算表达式expression,如果其值为假(即为0)
那么它先向 stderr 打印一条出错信息,然后通过调用 abort 来终止程序运行。
需要注意的是,assert 宏通常用于调试和开发阶段,用于验证程序的假设条件。在发布版本的代码中,通常会禁用 assert,以避免在生产环境中触发断言导致程序崩溃。
在这里插入图片描述

5.strcat:
在 C 语言中,strcat 是一个用于字符串拼接(追加)的函数,其声明如下:
char *strcat(char *dest, const char *src);

把src所指向的字符串(包括“\0”)复制到dest所指向的字符串后面(删除dest原来末尾的“\0”)。要保证dest足够长,以容纳被复制进来的*src。*src中原有的字符不变。返回指向dest的指针。

strcat 函数接受两个参数:目标字符串 dest 和源字符串 src。它将源字符串 src 的内容追加到目标字符串 dest 的末尾,并返回目标字符串的指针。

需要注意的是,目标字符串 dest 必须具有足够的空间来容纳源字符串 src 的内容,否则会导致缓冲区溢出的错误。
在这里插入图片描述

6.strcmp:
在 C 语言中,strcmp 是一个用于字符串比较的函数,其声明如下:
int strcmp(const char *s1,const char *s2);
strcmp 函数接受两个参数:要比较的两个字符串 str1 和 str2。它按照字典序比较两个字符串,并返回一个整数值,表示比较结果的大小关系。
strcmp 函数返回的结果可能有以下三种情况:
如果 str1 等于 str2,则返回值为 0。
如果 str1 小于 str2,则返回值为负数。
如果 str1 大于 str2,则返回值为正数。
在这里插入图片描述在这里插入图片描述

7.strncmp:
在 C 语言中,strncmp 是一个用于字符串比较的函数,其声明如下:
int strncmp(const char *str1, const char *str2, size_t n);
功能是把 str1 和 str2 进行比较,最多比较前 n 个字节,若str1与str2的前n个字符相同,则返回0;若s1大于s2,则返回大于0的值;若s1 小于s2,则返回小于0的值。
在这里插入图片描述
在这里插入图片描述

8.strchr:
在 C 语言中,strchr 是一个用于在字符串中查找指定字符的函数,其声明如下:
char *strchr(const char *str, int c);
strchr 函数接受两个参数:要搜索的字符串 str 和要查找的字符 c。它在字符串 str 中从左至右查找字符 c 的第一次出现,并返回一个指向该字符的指针。
如果找到字符 c,则返回指向该字符的指针;如果未找到字符 c,则返回空指针 (NULL)。
在这里插入图片描述
在这里插入图片描述

9.strstr:
在 C 语言中,strstr 是一个用于在字符串中查找子字符串的函数,其声明如下:
char *strstr(const char *haystack, const char *needle);
strstr 函数接受两个参数:要搜索的字符串 haystack 和要查找的子字符串 needle。它在字符串 haystack 中查找子字符串 needle 的第一次出现,并返回一个指向该子字符串的指针。
如果找到子字符串 needle,则返回指向该子字符串的指针;如果未找到子字符串 needle,则返回空指针 (NULL)。
在这里插入图片描述
在这里插入图片描述

10.strtok:
在 C 语言中,strtok 是一个用于分割字符串的函数,其声明如下:
char *strtok(char *str, const char *delimiters);

strtok 函数接受两个参数:要分割的字符串 str 和用于分割的分隔符字符串 delimiters。它将字符串 str 按照 delimiters 中包含的字符进行分割,并返回分割后的子字符串。

在第一次调用时,str 应为要分割的字符串,随后的调用中,str 应传入 NULL,以便继续分割剩余的字符串。

strtok 函数会修改传入的字符串 str,通过在分割位置插入字符串结束符 (‘\0’) 来分割子字符串。因此,调用 strtok 函数后,原始字符串将被改变。

在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值