1、概述
● C 语言提供了丰富的字符串处理函数,用于输入输出的字符串函数:
scanf ();
gets ();
printf ();
puts ();
以上函数使用时要包含头文件 stdio.h,其他字符串函数则要包含头文件 string.h;
● string.h 是一个专门用来处理字符串的头文件;
2、字符串连接函数 strcat ()
strcat(arrayName1, arrayName2);
● 该函数将 arrayName2 拼接到 arratName2 后面,并将 arratName1 最后的 '\0' 删除;
这意味着 arrayName1 必须足够长足以容纳 arrayName1 和 arrayName2 ,否则会溢出;
返回值为 arrayName1 的地址;
#include <iostream>
#include <string.h>
int main()
{
char a[100] = "天上白玉京,";
char b[] = "十二楼五城。";
strcat(a, b);
puts(a);
}
3、字符串复制函数 strcpy ()
strcpy(arrayName1, arrayName2);
● 将 arrayName2 拷贝到 arrayName1 中,将 arrayName1 中保存的值覆盖,结束标志 '\0' 也一起拷贝;
#include <iostream>
#include <string.h>
int main()
{
char a[100] = "天上白玉京,";
char b[] = "十二楼五城。";
strcpy(a, b);
puts(a);
}
4、字符串比较函数 strcmp ()
strcmp(arrayName1, arrayName2);
● 将 arrayName1 和 arrayName2 进行比较;
字符串本身没有大小之分,strcmp 函数从前往后,将各个字符的 ASCII 码值进行比较;
相等则继续比较,直到遇到不同字符或字符串结尾;
两个字符串相同,返回值为 0,若 arrayName1 大于 2,返回大于 0 值,反之,返回小于 0 的值;
#include <iostream>
#include <string.h>
int main()
{
//A-Z 65-90
//a-z 97-122
char a[10] = "CSDN";
char b[] = "CSDN";
char c[] = "csdn";
char d[] = "ABCD";
printf("返回值:%d\n", strcmp(a, b));//0
printf("返回值:%d\n", strcmp(a, c));//-1
printf("返回值:%d\n", strcmp(a, d));//1
}