字符函数与字符串函数(C语言)

strcpy的使⽤和模拟实现

字符串与字符串函数顾名思义,是对字符与字符串进行操作的函数,其中这类函数都要包含头文件#include<string.h>,strcpy函数的作用是对一个字符串数组中的元素进行复制,并拷贝到另一个字符串数组中,格式为charstrcpy(charp1,const char*p2),其中P1为将要改变元素的数组首元素地址,p2为将要被拷贝的函数,在p2前加上const是为了防止p2在拷贝的过程中元素发生改变,而p1的元素本身就需要改变,所以不需要加上const。该函数的使用条件有:1.被拷贝的函数中必须有’\0’否则strcpy函数无法识别在哪结束,因此会不断进行下去无法停止(与strlen函数的判断条件相似)2.在将数组复制到零一数组中时,会把数组最后的’\0’也一同复制进去。3.保证空间足够,否则会崩溃。4.无法对常量字符串进行赋值。在这里插入图片描述
这是我对strcpy函数的模拟实现。

strlen的使⽤和模拟实现

strlen函数的作用已经非常熟悉了,就是用来计算字符串数组中的元素的个数。
在这里插入图片描述这是我用MY_strlen函数代替strlen函数的模拟实现,需要注意的是字符串中必须要有’\0’,因为strlen函数的就是根据’\0’来进行结束计算的,没有就会输出随机值。

strcat的使⽤和模拟实现

该函数的作用是对一个字符串数组后再追加字符串,前提是必须要有’\0’(可以看出这些函数与’\0’的关系更像一种相辅相成的作用,是’\0’支撑着这些函数的逻辑,所以非常重要),另一个数组的首元素与该数组中最后的’\0’进行互换,随后将字符串全部加到该数组后面,直到空间不够为止。在这里插入图片描述该函数的模拟实现。

strcmp的使⽤和模拟实现

strcmp再qsort函数中也有少的应用,用来比较字符串的大小,然后输出代表大于,小于,等于的整型。运行逻辑是输入两个数组的首元素地址,然后对所代表的字符串中单个字符逐个进行对比,字符的大小取决于ASCII的值,当第一个的大小出现时就进行返回。在这里插入图片描述
对函数的模拟实现。

strncpy的使⽤和模拟实现

strncpy与strcpy函数相似,但更优秀于strcpy,因为可以选择拷贝的数量,况且在选择的个数大于原数组中的元素大小时,会在后面自动补充’\0’直到达到要求为止。在这里插入图片描述
模拟实现。

strncmp的使⽤和模拟实现

与strncpy一样,可以选择比较字符数量的大小,因此在输入时,还要加上比较的元素个数。

strncat的使⽤和模拟实现

可以选择在数组后追加的字符串中字符的个数,以下是模拟实现:在这里插入图片描述

strstr的使⽤和模拟实现

strstr函数是用来找在一个数组中的另一个数组,当一个数组中有着另一个数组的所有元素并且顺序不变,想要找到地址就需要用到strstr函数,strstr函数在找到后会输出该地址,如果没有就会返回空指针。在这里插入图片描述
模拟实现。

strtok的使⽤和模拟实现

用来去除数组中一些非字符的符号,如".“,”@"等等,使数组仅存在字符。

strerror的使⽤和模拟实现

strerror是C标准库中的一个函数,用于将错误码转换为错误消息字符串。它的原型如下:

char *strerror(int errnum);
Copy
其中errnum是要转换的错误码。strerror函数返回一个指向错误消息字符串的指针,该字符串是静态分配的,因此多次调用strerror函数可能会覆盖之前的错误消息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值