![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
字符串函数实现
传奇代码搬运工
这个作者很懒,什么都没留下…
展开
-
memset函数实现
功能:内存块填充将ptr指向的内存块的前num个字节设置为指定的value(解释为unsigned int)。void*memset(void*ptr,intvalue,size_tnum){ assert(ptr); char*temp=(char*)ptr; while(num--)...原创 2020-03-29 21:44:01 · 435 阅读 · 0 评论 -
strstr函数实现——KMP算法
#include <iostream>#include <cstring>#include <cstdlib>using namespace std;//s:子串int* make_ptm(const char* p){ int len = strlen(p); int* ret = static_cast<int*&...原创 2020-03-15 10:47:16 · 247 阅读 · 0 评论 -
strncmp函数实现
函数功能:字符串比较,比较前n个字符,若遇到结束符'\0'则提前终止比较返回值:>0 第一个不匹配的字符在str1中的值比在str2中的值高 0 相等 <0 第一个不匹配的字符在str1中的值比在str2中的值低 int my_strncmp ( const char* str1, const char* str2, size_t num ){...原创 2020-03-29 16:43:25 · 1129 阅读 · 0 评论 -
strncpy函数实现
把src所指向的字符串复制到dest,最多复制n个字符。当 src 的长度小于 n 时,dest 的剩余部分将用空字节填充。注意:Copies the firstnumcharacters ofsourcetodestination. If the end of thesourceC string (which is signaled by a null-chara...原创 2020-03-29 15:41:33 · 488 阅读 · 1 评论 -
strcmp函数实现
函数功能:把str1所指向的字符串和str2所指向的字符串进行比较。返回值:如果返回值小于 0,则表示 str1 小于 str2。 如果返回值大于 0,则表示 str1 大于 str2。 如果返回值等于 0,则表示 str1 等于 str2。int strcmp(const char* str1, const char* str2){ assert(str1 &a...原创 2020-03-29 14:14:30 · 535 阅读 · 0 评论 -
strcat函数实现
函数功能:把source 所指向的字符串追加到destination所指向的字符串的结尾。char * strcat ( char * destination, const char * source ){ assert((destination!=NULL) && (source!=NULL)); char* ret = destination;...原创 2020-03-29 10:24:17 · 649 阅读 · 0 评论 -
strcpy函数实现
注意:1、需考虑异常情况。可用宏assert来完成2、strcpy会拷贝末尾的 '\0'#include <stdio.h>#include <assert.h>char* strcpy(char* des, const char* src){ assert((des!=NULL) && (src!=NULL)); ...原创 2020-03-29 00:11:27 · 157 阅读 · 0 评论 -
strlen函数实现
要求:不能使用局部变量和全局变量,实现strlen功能思路:用递归实现,递归出口条件为*str=='\0'int strlen(char* str){ return *str=='\0' ? 0 : 1+strlen(str+1);}...原创 2020-03-27 09:58:16 · 209 阅读 · 0 评论