strlen:
int str_len(const char *str){
assert(str != NULL);
int len = 0;
while(*str++ != '\0'){
len++;
}
}
strcpm:
// s1 = s2:零
// s1 > s2:正
// s1 < s2:负
int str_cmp(const char *s1, const char *s2) {
assert((s1 != NULL) && (s2 != NULL));
while ((*s1) && (*s1 == *s2)) {
s1++;
s2++;
}
return (*s1 - *s2);
}
strcopy:
char *str_copy(char *des, const char *src) {
assert((des != NULL) && (src != NULL));
char *address = des;
while ((*des++ = *src++) != '\0');
return address;
}
strcat:
char *str_cat(char *des, const char *src) {
assert((des != NULL) && (src != NULL));
char *address = des;
while (*des != '\0') des++;
while ((*des++ = *src++) != '\0');
return address;
}
strrev:
char *str_rev(char *str) {
assert(str != NULL);
char *left, *right;
char ch;
left = str;
right = str;
while (*right != '\0') right++;
right--;
while (left < right) {
ch = *right;
*right-- = *left;
*left++ = ch;
}
return str;
}
更多文章扫码关注