目录
1.封装函数实现strlen 的功能
2.封装函数实现strcpy的功能
3.封装函数实现strcat 的功能
4.封装函数实现strcmp 的功能
1.封装函数实现strlen 的功能
strlen的功能: 获得字符串长度(不包含 ' ' )
#includeint mystrlen(char *str1) { int count = 0; while (*str1 != ' ') { count++; str1++; } return count; } int main() { char str1[] = {0}; int len = 0; gets(str1); len = mystrlen(str1); printf("%d", len); return 0; }
2.封装函数实现strcpy的功能
strcpy 的功能: 进行字符串拷贝
strcpy(str1,str2) 将str2 复制到 str1 中
#includechar mystrcpy(char *str1, char *str2) { while (*str2 != ' ') { *str1 = *str2; str1++; str2++; } *str1 = ' '; return 0; } int main() { char str1[] = {0}; char str2[] = {0}; printf("输入str1:n"); gets(str1); printf("输入str2:n"); gets(str2); mystrcpy(str1,str2); printf("str1 = %s", str1); return 0; }
3.封装函数实现strcat 的功能
strcat 的功能 ,进行字符串的拼接
strcat(str1,str2) 将str2 拼接到 str1 的后面
#includechar mystrcat(char *str1, char *str2) { while (*str1 != ' ') { str1++; } while (*str2 != ' ') { *str1 = *str2; str1++; str2++; } *str1 = ' '; return 0; } int main() { char str1[] = {0}; char str2[] = {0}; printf("输入str1:n"); gets(str1); printf("输入str2:n"); gets(str2); mystrcat(str1,str2); printf("str1 = %s", str1); return 0; }
4.封装函数实现strcmp 的功能
strcmp的功能, 比较字符串
比较ASCII码值,只比较第一个遇到的不相同的字符
如: hello 和 how
第一位 h 相同, 则比较第二位置 e 与 o
获得结果:
0 两个字符串完全相同
1 第一个字符串大于第二个字符串
-1 第一个字符串小于第二个字符串
#includeint mystrcmp(char *str1, char *str2) { while (*str1 == *str2 && *str1 != ' ') { str1++; str2++; } if (*str1 > *str2) { return 1; } else if (*str1 < *str2) { return -1; } else { return 0; } } int main() { char str1[] = {0}; char str2[] = {0}; int ret = 0; printf("输入str1:n"); gets(str1); printf("输入str2:n"); gets(str2); ret = mystrcmp(str1,str2); printf("ret = %d", ret); return 0; }



