模拟实现strncpy
char * my_strncpy(char *dest, const char *src, int count) { char *ret = dest; assert(dest&&src); while (count--) { if (*src=='\0')//如果源头字符串结束 全部追加0 { *dest = '\0'; dest++; } else { *dest = *src; dest++; src++; } } return ret; }
模拟实现strncat
char * my_strncat(char *dest, const char *src, int count) { char *ret = dest; assert(dest&&src); while (*dest)//找到目标字符串的停止符 { dest++; } while (count--&&*src)//如果源字符串结束追加结束 { *dest = *src; dest++; src++; } *dest = '\0'; return dest; }
模拟实现strncmp
int my_strncmp(const char *arr1,const char *arr2,int count) { assert(arr1); assert(arr2); while(count&&(*arr1 == *arr2)) { if (*arr1 == '\0') { return 0; } arr1++; arr2++; count--; } return (*arr1 - *arr2); }