C语言字符串函数详解 strcpy、strcmp、strcat、strlen、strstr

来源:互联网 发布:葡萄糖酸锌治痤疮 知乎 编辑:程序博客网 时间:2024/04/29 19:41
strcpy的源代码:
char *strcpy(char *des, const char *src){assert(des != NULL && src != NULL);char *pStr = des;while( (*des++ = *src++) != '\0')NULL;return pStr;}

 
strcmp的源码:
int  strcmp(const char *des,  const char *src){assert(des != NULL && src != NULL);for (;*des && *src && *des == *src; des++, src++)NULL;return *des - *src;}


 

 

 

strcat的源码:
char *strcat(char *des, const char *src){assert(*des != NULL && *src != NULL);char *pStr = des;while (*des != '\0')des++;while ((*des++ = *src++) != '\0')NULL;return pStr;}

 

strlen的源码:
int strlen(const char *pStr){assert(pStr != NULL);int len = 0;while (*pStr++ != '\0')len++;return len;}


 

 

strstr的源码:
char *myStrstr(const char *des, const char *src){assert(des != NULL && src != NULL);char *d = des;char *s = src;for (; d != '\0'; des++){for (d = des, s = src; (s != '\0') && (*d == *s); d++, s++)NULL;if (*s == '\0')return des;}return NULL;}