手写代码:字符串复制函数
参考回答:
char* my_strcpy(char* dst, const char*src) { assert(dst != NULL); assert(src != NULL); char *ret = dst; while (*dst = *src) { dst++, src++; } return ret; }
模拟strncpy:
char* my_strncpy(char* dst,const char* src,int n) { assert(dst!=NULL); assert(src!=NULL); char* ret=dst; while(n) { *dst=*src; dst++; src++; n--; } if(*(dst-1)!='\0') { *dst='\0'; } return ret; }
模拟strcat:
char *my_strcat(char* dst, char* src) { assert(dst != NULL); assert(src != NULL); char *ret = dst; while (*dst) { dst++; } while (*dst = *src) { dst++, src++; } return ret; }
模拟strncat:
char *my_strncat(char* dst, const char *src, int n) { assert(dst != NULL); assert(src != NULL); char *ret = dst;
while (*dst)//将dst的指针移到‘\0'处
{ dst++; } while (n) { *dst = *src; dst++, src++; n--; } if (*(dst - 1) != '\0') { *dst = '\0'; } return ret; }