这边给大家介绍几个常用的字符串函数
1. 字符串连接函数 strcat()
格式:
strcat(arrayName1,arrayName2);//arrayName1、arrayName2 为需要拼接的字符串。
strcat()函数把arrayName2 "连接" 到arrayName1后面,并删除原来arrayName1最后的标注'\0'。
这意味着,arrayName1必须足够的长,长到可以同时容纳arrayName1和arrayName2,否者会越界。
strcat()返回值为arrayName1的地址
接下来我们做个简单的演示:
#include<stdio.h>
#include<string.h>
int main()
{
char str1[100] = "The URL is";
char str2[60];
printf("Input a URL:");
gets(str2);
strcat(str1,str2);
puts(str1);
return 0;
}
2. 字符串赋值函数ctrcpy()
格式:
strcpy(arrayName1, arrayName2);
strcpy() 会把 arrayName2 中的字符串拷贝到 arrayName1 中,字符串结束标志'\0'也一同拷贝
//具体看咱们下面的演示:
#include<string.h>
#include<string.h>
int main()
{
char str1[50]="《康康泡妞记》";
char str2[50]="www.kangkangpaoniu.com";
strcpy(str1,str2);
printf("str1:%s\n",str1);
return 0;
}
3. 字符串比较函数strcmp()
格式:
strcmp(arrayName1, arrayName2);
arrayName1, arrayName2是需要比较的两个字符串
字符本身没有大小之分,strcmp() 以各个字符对应的 "ASCII 码"值进行比较。
strcmp() 从两个字符串的第 0 个字符开始比较,如果它们相等,就继续比较下一个字符,直到遇见不同的字符,或者到字符串的末尾。
//注意
若 arrayName1 和 arrayName2 相同,则返回 0 ;
若 arrayName1 大于 arrayName2,则返回大于 0 的值;
若 arrayName1 小于 arrayName2,则返回小于 0 的值。
//具体咱们代码演示一下吧
#include<stdio.h>
#include<string.h>
int main()
{
char a[] = "aBcDeF";
char b[] = "AbCdEf";
char c[] = "aacdef";
char d[] = "aBcDeF";
printf("a vs b: %d\n",strcmp(a,b));
printf("a vs c: %d\n",strcmp(a,c));
printf("a vs d: %d\n",strcmp(a,d));
return 0;
}
运行结果为:
a vs b: 1
a vs c: -1
a vs d: 0