本文主要是介绍16.2字符串处理函数自定义,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
#include<stdio.h>
#include<string.h>
//字符串处理函数 strlen strcpy strcat strcmp ...
//设计函数的时候:
// 1,如果参数是传入参数,在函数里面不会修改实参的值,就声明为const//mystrlen
size_t mystrlen(const char* str)
{
#if 0 //方法1size_t cnt = 0;while (*str++ != '\0'){++cnt;}return cnt;
#else //方法2const char* start = str; //让start和str指向同一个字符串while (*++str);return str - start;
#endif
}//mystrcpy
char* mystrcpy(char* dest, const char* src)
{char* restr = dest;while (*src){*dest++ = *src++;}//追加\0*dest = '\0';return restr;
}//mystrcat 连接
char* mystrcat(char* dest, const char* src)
{char* restr = dest;//先让dest指向\0while (*dest){++dest;}//printf("%s\n", *dest ? "#" : "0");while (*src){*dest++ = *src++;}//在结尾追加\0*dest = '\0';return restr;
}int main()
{const char* name = "shixiaobin";printf("%d %d\n", mystrlen(name), strlen(name));char addr[20] = "山西省";printf("%s\n", mystrcpy(addr, "运城市1"));printf("%s\n", mystrcat(addr, "运城市"));return 0;
}
这篇关于16.2字符串处理函数自定义的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!