首页 > 知识百科 > 正文

【c语言】字符函数和字符串函数(下) 初始

前言

书接上回【c语言】字符函数和字符串函数(上)

上一篇讲解strcpy、strcat、strcmp函数的字符串长度是不受限制的

而本篇strncpy、strncat、strcnmp函数的字符串长度是受限制的

欢迎关注个人主页:逸狼


创造不易,可以点点赞吗~

如有错误,欢迎指出~

目录

前言

strncpy函数的使用< /p>

strncat函数的使用

strncmp函数的使用

strstr函数的使用和模拟实现

strstr 函数的使用

strstr函数的模拟实现

strtok函数的使用

一步解释

代码优化

strerror函数的使用

打印出错误信息

使用说明

perror函数



strncpy函数的使用

↓⻉ num个字符从源字符串到⽬标空间。如果源字符串的⻓度⼩于num,则δ⻉完源字符串之后,在⽬标的后边追加0,直到num个。

strncat函数的使用

< /p> 将source指向字符串的前num个字符追加到destination指向的字符串补充,再追加一个\0字符如果source指向字符串的⻓度⼩于num的只是,将字符串中到 \0 的内容追加到目的地的字符串补充

strncmp函数的使用

比较前n个字符

arr1>arr2,返回大于0 arr1=arr2,返回0arr1

strstr函数的使用和模拟实现

strstr函数的使用

在字符串str1里找字符串str2

函数返回字符串str2在字符串str1中第一个偶次出现的位置字符串的⽐较匹配不包含\0字符,以\0作为结束标志

strstr函数的模拟实现

#include#includechar* my_strstr (const char* str1, const char* str2){const char* cur = str1;//cur用于记录开始查找的位置 const char* s1 = NULL;const char* s2 = NULL;assert(str1 && str2); //指针保证的功效if (*str2 == '\0'){return (char*)str1;//如果str2为空的,直接返回str1}while (*cur){s1 = cur;s2 = str2;//利用s1和s2一个比对while (*s1 && *s2 && *s1 == *s2)//当s1和s2其中有一个是\0时,会跳出循环{s1++;s2++; }//当s2加到尾\0时,说明全部符合(找到了)if (*s2 == '\0'){return (char*)cur;}cur++;}return NULL;}int main() {char arr1[] = "abcdefgh";char arr2[] = "abcdefgh";char* ret=my_strstr(arr1, arr2);printf("%s\n", ret);return 0;} 

strtok函数的使用

sep参数指向一个整数,定义了用途作分隔符的字符集合第一个整数参数指定一个整数,它包含了0个或者多个由sep字符串中一个或者个多个分隔符分割的标签记。strtok函数找到str中的下一个端点标记,将其用途\0结尾,返回一个指向该标记的指针。(注:strtok函数会改变被操作的字符串,所以在使用strtok函数切修改的字符串端点一般都是临时⻉的内容并且可。)strtok函数的第一个端点参数不为NULL,函数将找到str中的第一个端点标记,strtok函数将它保存在字符串中的位置。strtok函数的第一个端点参数为 NULL ,函数将在同一个端点中被保存的位置开始,查找下一个端点标记。如果字符串中不存在更多的标记,则返回 NULL 指针。 < h3 id="%E4%B8%80%E6%AD%A5%E6%AD%A5%E8%A7%A3%E9%87%8A">一步解释

代码优化

#include #includeint main(){char arr1[] = "zhangsan@163.com";char arr2[30] = { 0 };strcpy(arr2, arr1);//先将arr1里的内容复制到arr2中const char* p = "@.";//定义分割Char* s = NULL;for (s = strtok(arr2, p); s != NULL; s = strtok(NULL, p)) {printf("%s\n",s);}返回0;}

strerror函数的使用

strerror函数可以把参数部分错误码的错误信息的字符串地址返回。在不同的地方的系统和C语⾔标准库的实现中都规定了一些错误码,同一地点放在 errno.h 这个头文件中说明的,C语言⾔程序启动的时候就可以使用用一个全侧面的标志errno来记录程序的当前错误码,只是程序启动的时候 errno是0,表石头没有错误,当我们在使用使用标准库中的函数的时候生成了某种错误,就会讲对应的错误码,存放在errno中,每一个错误码都有对应的错误信息的。strerror函数就可以将错误对应的错误信息字符串的地址返回。

打印出错误信息

使用举例

perror函数

perror函数是在strerror函数的基础上增加了打印错误信息的功能。

【c语言】字符函数和字符串函数(下) 初始由知识百科栏目发布,感谢您对的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“【c语言】字符函数和字符串函数(下) 初始