c语言几个字符串处理函数的简单实现
直接贴代码:
char* strcpy(char *a,char*b){//把字符串b全部拷贝到a中 assert(a != nullptr&&b != nullptr); char *p = a; while ((*p++ = *b++) != '0'); return p; } char *strncpy(char *a,char *b,int n) {//把字符串b的前n位拷贝到a中 assert(a != nullptr&&b != nullptr); char *p = a; while (n--) { if ((*p++ = *b++) == '\0')break; } return p; } char *strcat(char *a,char *b) {//把b拼接于a后 assert(a != nullptr&&b != nullptr); char *p = a; while (*p != '\0')p++; while ((*p++ = *b++) != '\0'); return p; } int strcmp(char*a,char *b) {//比较字符串 assert(a != nullptr&&b != nullptr); while (*a&&*b&&*a==*b) { a++, b++; } if (*a > *b)return 1; else if (*a < *b)return -1; else return 0; } int strlen(char *a) { assert(a != nullptr); int len = 0; while (*a != '\0') { a++,len++; } return len; }