#include <string.h> 使用字符串函数 需要先导入该文件头
1.用来计算字符串长度的函数,不包含\0
size_t strlen(const char *str);
2.1字符串拷贝函数
把src中内容拷贝到dest中,它会覆盖原来的内容,它会把src中的\0,没有覆盖内容不变
如果scr中的长度超过了dest所能容纳的长度就可能导致程序崩溃
strcpy(char * dest, const char * src);
2.2
len:表示要拷贝的字符串长度,不包含\0
strncpy(char * dest, const char *src, size_t len)
3.字符串拼接函数
把src中内容拼接在dest原有字符串后面,从前往后找,找到第一个\0位置开始进行拼接
如果scr中的长度超过了dest所能容纳的长度就可能导致程序崩溃
strcat(char * dest, const char * src)
4.字符串比较:
str1 与 str2 中从第一个字符开始进行比较,若相等就找后面的字符是否相等,如果都相同就返回0,如果遇到不相等字符就返回这个两个字符的ASCII值的差
strcmp(const char *str1, const char * str2);
void test(){
//用来计算字符串长度的函数,不包含\0
//size_t strlen(const char *str);
char str1[] = "today is";
size_t length = strlen(str1);
printf("%ld\n",sizeof(str1));//打印 9 包含\0
printf("%lu\n",length);//打印 8 不包含\0
}
void test2(){
/*
字符串拷贝函数
把src中内容拷贝到dest中,它会覆盖原来的内容,它会把src中的\0一起拷贝过去,没有覆盖的内容不变
如果scr中的长度超过了dest所能容纳的长度就可能导致程序崩溃
strcpy(char * dest, const char * src);
*/
char str1[10] = "today is ";
char str2[] = "good";
strcpy(str1, str2);
printf("%s\n",str1);//打印good
for (int i = 0; i < 10 ; i++) {
printf("%c",str1[i]);//打印good is 证明把str2的\0拷贝过去,%s到\0就结束了
}
}
void test3(){
// len:表示要拷贝的字符串长度,不包含\0
// strncpy(char * dest, const char *src, size_t len)
char str1[10] = "today is ";
char str2[] = "good";
strncpy(str1, str2, strlen(str2));
printf("%s\n",str1);//打印 goody is 拷贝过去不包含\0
}
void test4(){
/*
字符串拼接函数
把src中内容拼接在dest原有字符串后面,从前往后找,找到第一个\0位置开始进行拼接
如果scr中的长度超过了dest所能容纳的长度就可能导致程序崩溃
strcat(char * dest, const char * src)
*/
// char str1[10] = "today is ";
// char str2[] = "good";
// strcat(str1, str2); 超过容纳长度,程序会崩溃
// printf("%s\n",str1);
char str1[20] = "today is ";
char str2[] = "good";
strcat(str1, str2);
printf("%s\n",str1);//打印today is good
}
int main(int argc, const char * argv[]) {
/*
字符串比较:
str1 与 str2 中从第一个字符开始进行比较,若相等就找后面的字符是否相等,如果都相同就返回0,如果遇到不相等字符就返回这个两个字符的ASCII值的差
strcmp(const char *str1, const char * str2);
*/
char str1[] = "abc";
char str2[] = "abc";
char str3[] = "abr";
int rs = strcmp(str1, str2);
printf("%d\n",rs);//打印0
rs = strcmp(str1, str3);
printf("%d\n",rs);//打印-15
return 0;
}