
函数
Li----
这个作者很懒,什么都没留下…
展开
-
memmove函数的模拟实现
memcpy只要不拷贝重叠内存就可以了,但是memcpy在VS这种可以拷贝重叠内存,因为在VS中的memcpy库函数相当于memmove。memcmp函数的功能与 strcmp的功能相似,不过memcmp能适用的类型没有限制,这里不多做阐述。下面我们讲一下memset函数,memset的特点是以字节为单位设置内存。memmove函数可以处理内存重叠的情况,memmove函数是逆序拷贝。memcpy函数应该拷贝不重叠的内容,memcpy函数是正序拷贝。当dest在src左边且重叠,只能从前向后拷贝。原创 2023-03-23 08:54:24 · 112 阅读 · 0 评论 -
模拟实现strtok && strstr && strerror
我们在实现函数模拟代码时的主要思路是,创建三个变量,一个变量指向母字符串,一个变量指向子字符串,这两个变量用来比较两个字符串是否相等,还有一个变量作为锚,放在指向母字符串的变量的初始位置,以便找到正确的起始点的时候进行返回,当两个变量比较时发现不想等,即指向子字符串的变量还未到 \0 就出现比较的不同,那么则将锚变量向后移动以为,将母字符串变量移到锚变量位置,子字符串回到初始位置,重新开始比较,若比较结束后完全相同,那么返回锚变量指向的地址。下面先放出两种strtok函数的应用实现形式。原创 2023-03-21 20:08:04 · 121 阅读 · 0 评论 -
一些内存函数
可以看到传入的参数都是void*类型,所以可以传任意类型的参数,并且最后还要传入要拷贝的字节长度num。函数tolower函数是将大写字母转换为小写字母,toupper是将小写字母转换为大写字母,头文件为ctype.h。下面我们讲一下一个与strcpy相似的函数memcpy,二者的不同之处在于mencpy可以拷贝任何类型。下面我们讲一下isdigit函数,该函数的主要功能是判断传入的数据是否为数字。然后我们将一个与strerror函数相似的函数perror。perror函数的头文件为 stdio.h。原创 2023-03-21 19:50:21 · 101 阅读 · 0 评论