![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
模拟实现C标准库函数
一个达布刘(o゚v゚)ノ
你终于看到我啦,就是你,将有好事发生!
展开
-
模拟实现strcmp
strcmp函数用于比较两个字符串的大小,当两个字符串相同时返回0,若第一个字符串大于第二个字符串时返回一个正值,否则返回负值。下列函数模拟实现strcmp,当两个字符串相同时返回0,若第一个字符串大于第二个字符串时返回 1,否则返回-1。#include <stdio.h>#include "string.h"#include <assert.h>#define _CRT_SECURE_NO_WARNINGSint my_strcmp(cons...原创 2022-02-23 22:32:08 · 74 阅读 · 0 评论 -
模拟实现strstr
strstr函数用于判断字符串str2是否为str1的子串。如果是,则该函数返回str2在str1中首次出现的地址,否则,返回NULL。#include <stdio.h>#include "string.h"#include <assert.h>#define _CRT_SECURE_NO_WARNINGSchar* my_strstr(const char* a, const char* b){assert(a != NULL &&原创 2022-02-23 21:58:07 · 119 阅读 · 0 评论 -
模拟实现strcat
strcat函数用来连接字符串,它会将一个参数的字符串复制到另一个参数所指的字符串尾部。#include <stdio.h>#include "string.h"#include <assert.h>#define _CRT_SECURE_NO_WARNINGSchar my_strcat(char* a, const char* b){assert(a != NULL && b != NULL);char* pdest = a;原创 2022-02-23 21:52:55 · 184 阅读 · 0 评论 -
模拟实现memset
该函数memset用于初始化空间void* memset(void* dest, int c, size_t count){ assert(dest != NULL); char* pdest = (char*)dest; while (count--) { *pdest++ = c; } return dest;}int main(){ int a[10]; memset(a, 0, sizeof(int) * 10);}原创 2022-02-14 21:23:59 · 104 阅读 · 0 评论 -
模拟实现memmove
使用memcpy函数,当有重叠的部分发生时,要想确保拷贝正确,应当使用memmove函数该函数与memcpy函数的差别就是该函数可以处理源内存块与目标内存块是可以重叠的void* memcpy(void* dest, const void* src, size_t count){ assert(dest != NULL&& src != NULL); char *pdest = (char*)dest; const char *psrc = (const char *)原创 2022-02-14 22:06:03 · 173 阅读 · 0 评论 -
模拟实现memcpy
函数memcpy从src的位置开始向后复制count个字节数据到dest的内存位置这个函数在遇到'\0'的时候并不会停下来如果src和dest有任何的重叠,复制的结果都是未定义的#include <stdio.h>#include <assert.h>void* memcpy(void* dest, const void* src, size_t count){ assert(dest != NULL&& src != NULL);原创 2022-02-14 21:34:40 · 365 阅读 · 0 评论 -
模拟实现memcmp
该函数实现内存的比较void* memcmp(const void* buf1, const void* buf2, size_t count){ assert(buf1 != NULL && buf2 != NULL); const char* pbuf1 = (const char*)buf1; const char* pbuf2 = (const char*)buf2; int re=0; while (count-- > 0) { if ((re = *原创 2022-02-14 22:23:01 · 506 阅读 · 0 评论 -
模拟实现strcpy
strcmp函数用于比较两个字符串并根据比较结果返回整数。#include <stdio.h>#include "string.h"#include <assert.h>#define _CRT_SECURE_NO_WARNINGSchar* my_strcpy(char* a, const char* b){assert(a != NULL && b != NULL);char* pdest = a;const char* ps原创 2022-02-22 22:03:53 · 114 阅读 · 0 评论 -
模拟实现strlen
#include <stdio.h>#include "string.h"#include <assert.h>#define _CRT_SECURE_NO_WARNINGSsize_t my_strlen(const char* a){assert(a != NULL);if (*a == '\0')return 0;return my_strlen(a + 1) + 1;}int main(){char* a = "abcde.原创 2022-02-21 22:23:33 · 289 阅读 · 0 评论