当前位置: 代码迷 >> 综合 >> C语言实现strcat / strlen / strcmp / strcpy
  详细解决方案

C语言实现strcat / strlen / strcmp / strcpy

热度:65   发布时间:2024-01-05 00:16:34.0

主要考虑两点:

  1. 返回值对使用的便利性。
  2. 边界,null的判断。

strcat

char *m_strcat(char *des, const char *src) {assert((des != NULL) && (src != NULL));char *add = des;while (*des != '\0')++des;while (*des++ = *src++);return add; }

strlen

int m_strlen(const char *str) {assert(str != NULL);int len = 0;while (*str != '\0'){++str;++len;}return len; }

strcmp

int m_strcmp(const char *des, const char *src) {// return 0 des==src , + des>src , - des<srcassert((des != NULL) && (src != NULL));while ((*des) == (*src)){if (*des == '\0')return 0;++des;++src;}return *des - *src; } 

strcpy

char *m_strcpy(char *des, const char *src) {assert((des != NULL) && (src != NULL));char *add = des;while ((*des++ = *src++) != '\0');return add; }
  相关解决方案