字符串常量:
“你好”,“hello word”
字符串数组:
int main{
//初始化字符数组的每个元素
char str1[10]={‘H’,‘e’,‘l’,‘l’,‘o’,‘\0’};
//可以不写元素的个数,因为编译器会自动计算
char str2[]={‘H’,‘e’,‘l’,‘l’,‘o’,‘\0’};
//使用字符串常量初始化字符数组
char str3[]={”Hello“};
//使用字符串常量初始化,可以省略大括号
char str4[]=”Hello“;
}
字符串处理函数
strcat–连接字符串<string.h>
strcmp–比较字符串<string.h>
strcpy–拷贝字符串<string.h>
strlen–获取字符串长度<string.h>
strncat–连接字符串(受限)<string.h>
strncmp–比较字符串(受限)<string.h>
strncpy–拷贝字符串(受限)<string.h>
-strlen获取字符串长度
char str[]="Hello";
printf("sizeof str=%d\n",sizeof(str));
printf("strlen str=%u\n",strlen(str));
-strcpy和strncpy拷贝字符串
char str1[]="Original String";
char str2[]="New String";
char str3[100];
strcpy(str1,str2);
strcpy(str3,"Copy Successful");
printf("strl:%s\n",str1);
printf("str2:%s\n",str2);
printf("str3:%s\n",str3);
【注】str1的长度必须得容纳str2
-strncpy拷贝字符串数组时可以规定拷贝的字符串长度
char str1[]="To be or not to be";
char str2[40];
strncpy(str2,str1,5);
str2[5]='\0';
printf("str2:%s\n",str2);
【注】需要手动添加末尾空字符’\0’否则会读取到乱码。
strcat连接字符串
char str1[]="I love ";
char str2[]="cccccc";
strcat(str1,"");
strcat(str1,str2);
printf("str1: %s \n",str1);
strncat添加一个参数用来限制连接的字符数,同样末尾需要自己手动添加’\0’。
strcmp和strncmp比较字符串
schar str1[]="I love ";
char str2[]="I love ";
if (!strcmp(str1,str2))
{
printf("两个字符串完全一致!\n");
}
else
{
printf("两个字符串存在差异!\n");
}