一、获取字符串的长度:strlen函数
strlen函数用于返回指定字符串的长度。C语言字符串的长度取决于结束符('\0')的位置, 一个字符串的长度指的是从起始位置到结束符的字符个数,不包含结束符本身
eg:
#include<stdio.h>
#include<string.h>
int main()
{
char str[] = "I love fish!"; //strlen函数主要用于返回指定字符串的长度
printf("sizeof str=%d\n", sizeof(str)); //包含了结束符的数量
printf("strlen str=%u\n", strlen(str)); //没包含结束符的个数
return 0;
}
//strlen 函数的运用,(字符串长度)
二、拷贝字符串:strcpy函数和strncpy函数(受限拷贝的个数)
和strnpy函数一样,strncpy函数将拷贝源字符串的n个字符到目标数组中,如果源字符串的长度。 小于n,那么就用'\0'填充额外的空间。如果源字符串的长度大于或等于n,那么只有n个字符拷贝到 目标数组中(注意:这样的话不会以结束符'\0'结尾)
#include<stdio.h>
#include<string.h>
int main()
{
char str1[] = "Original String";
char str2[] = "New String";
char str3[100];
strcpy(str1, str2); /*左边是目标字符串数组,右边是原字符串;相当于把str1 copy str2;且
str1 的长度要足以容纳str 2的长度,不然会出现问题*/
strcpy(str3, "Copy Successful");
printf("str1:%s\n", str1);
printf("str2:%s\n", str2);
printf("str3:%s\n", str3);
return 0;
}
/*strcpy函数的运用,(copy)拷贝字符串*/
三、连接字符串:strcat和strncat
eg:
#include <stdio.h>
#include<string.h>
int main()
{
char str1[] = "I love";
char str2[] = "fish";
strcat(str1, " ");
strcat(str1, str2);
printf("str1:%s/n", str1);
return 0;
}
/*strcat函数的应用,连接字符串*/
四、比较字符串:strcmp和strncmp
eg:
#include<stdio.h>
#include<string.h>
int main()
{
char str1[] = "CHINA";
char str2[] = "china";
if (!strcmp(str1, str2)) //比较两个字符
{
printf("两个字符串完全一致");
}
else
{
printf("两个字符串存在差异");
}
return 0;
}
/*strcmp函数的应用,比较字符串*/