模拟实现字符串函数

您所在的位置:网站首页 编写函数strcpy 模拟实现字符串函数

模拟实现字符串函数

2023-06-07 16:44| 来源: 网络整理| 查看: 265

模拟实现字符串函数 模拟实现strlen函数模拟实现strcmp和strncmp函数模拟strcmp模拟strncmp 模拟实现strcpy和strncpy函数模拟strcpy模拟strncpy 模拟实现strcpy和strncpy函数模拟strcpy模拟strncpy 模拟实现strstr函数

模拟实现strlen函数

strlen函数作用为计算字符串长度

int my_strlen(const char* str) { int count = 0; assert(str); while (*str != '\0') { str++; count++; } return count; } 模拟实现strcmp和strncmp函数 模拟strcmp

strcmp函数的作用为比较两组字符串的大小

//str1>str2 返回>0的数 //str1 if (*str1 == '\0') return 0; str1++; str2++; } return (*str1 - *str2); } 模拟strncmp

strncmp函数在strcmp函数的基础上新增了一个参数,可指定想比较的字符串的长度

//比较字符串大小 //str1>str2 返回>0的数 //str1 count++; if (count char* p = dest; assert(dest); assert(src); while (*dest++ = *src++); return p; } 模拟strncpy

strncpy函数在strcpy函数的基础上新增了一个参数,可指定想拷贝内容的长度,当长度超出拷贝字符串的内容时,自动补上’\0’(覆盖原字符串内容)

//复制字符串(指定长度) char* my_strncpy(char* dest, const char* src, size_t num) { assert(dest); assert(src); char* p = dest; int sz = my_strlen(src); int i = 0; if (num *(dest + i) = *(src + i); } } else { for (i = 0; i *(dest + i) = '\0'; } } return p; } 模拟实现strcpy和strncpy函数 模拟strcpy

strcpy函数的作用是在原字符串后面追加新的字符串内容,并在末位补上’\0’

//追加字符串 char* my_strcat(char* dest, const char* src) { assert(dest && src); char* p = dest; while (*dest != '\0') { dest++; } while (*dest++ = *src++); return p; } 模拟strncpy

strncpy函数在strcpy的基础上多了一个参数,可指定追加字符串的长度,当指定长度超出追加字符串长度n时,只追加n的长度,超出部分无效,并在末尾补上’\0’

//追加字符串(指定长度) char* my_strncat(char* dest, const char* src, size_t num) { assert(dest && src); char* p = dest; while (*dest != '\0') { dest++; } int i = 0; int sz = my_strlen(src); if (num > sz) { for (i = 0; i for (i = 0; i assert(str1 && str2); char* s1 = str1; char* s2 = str2; char* p = str1; while (*p) { s1 = p; s2 = str2; while (*s1 != '\0' && *s2 != '\0' && *s1 == *s2) { s1++; s2++; } if (*s2 == '\0') { return p; //子串能够匹配,则返回匹配位置的起始地址 } p++; } return NULL; //不能匹配则返回空指针 }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3