头文件
# include <string.h>
五大函数:
strlen()、strcpy、strcat()、strcmp()、strstr()
用法:
strlen():计算字符串长度,但不计'\0'这个字符
#include <string.h>
int main()
{char arr[] = "abcdef";int len = strlen(arr);printf("%d\n", len);return 0;
}
输出:6
strcpy:把arr2[]字符串复制到arr1[]上(包括终止符)
#include <string.h>
int main()
{char arr1[] = "abcdef";char arr2[] = "abc";strcpy(arr1, arr2);printf("%s\n", arr1);return 0;
}
输出:abc
strcat():把arr2[]字符串追加到arr1[]上(覆盖掉arr1[]的'\0',arr2[]的'\0'保留下来)
#include <string.h>
int main()
{char arr1[20] = "hello";char arr2[] = " world";strcat(arr1, arr2);printf("%s\n", arr1);return 0;
}
输出:hello world
strcmp():
1. strcmp()函数根据ASCII编码开始比较俩个字符串中的第一对字符,如果彼此相等, 继续 比较下一对字符所对应的ASCII码值,直到字符不相同或者达到终止字符'\0';
2. 函数返回值类型为 int
3. 函数返回值为0,表示俩个字符串相等;
函数返回值为大于0的数字,表示第一个字符串大于第二个字符串;
函数返回值为小于0的数字,表示第一个字符串小于第二个字符串;
#include <string.h>
int main()
{char* arr1 = "abcdef";char* arr2 = "abc";int ret = strcmp(arr1, arr2);if (ret > 0){printf("> ");printf("ret=%d\n", ret);}else if (ret == 0){printf("=");printf("ret=%d\n", ret);}else{printf("<");printf("ret=%d\n", ret);}return 0;
}
输出:> ret=1