当前位置: 代码迷 >> 综合 >> 字符串中常用的系统函数(strcat , strcmp , strcpy,strlen )
  详细解决方案

字符串中常用的系统函数(strcat , strcmp , strcpy,strlen )

热度:42   发布时间:2023-12-21 10:09:00.0

字符串中常用的系统函数

(strcat 连接, strcmp 比较, strcpy 拷贝,效果相当于赋值,strlen 求有效字符个数)

1、strcat 函数

strcat 函数即字符串连接函数,其一般格式为:
strcat (字符数组名1,字符串数组名2或者字符串)

其原理是将字符数组2的内容拼接到字符数组1的有效字符之后,结果放在字符数组1中,参数1必须是字符数组,因为需要有存储单元存放字符串,参数2即可以是字符数组也可以是字符串。字符数组1应该要足够大,以便接纳连接后的字符数组。

代码演示:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>int main(){
    
char a[]="I";   //字符型常量'I'与字符串常量"I"的限制符不同
char b[]="am";
printf("%s\n",a);
strcat(a,b);
printf("%s\n",a);
strcat(a,"happy");
printf("%s\n",a);
return 0;
system("pause");
}输出:
I
Iam
IamhappyProcess returned 0 (0x0)   execution time : 0.359 s
Press any key to continue.

2、strcpy 函数
strcpy函数即字符串复制函数。其一般格式为:
strcpy(字符串数组名1,字符串数组名2或者字符串)

strcpy函数要求参数1必须是字符数组,因为需要有存储单元存放字符串,参数2即可以是字符数组也可以是字符串。字符数组1应该要足够大,以便接纳连接后的字符数组。

注意:strcpy函数的作用相当于赋值,将后一个字符串的内容拷贝给前一个字符串时,后一个字符串会将前一个字符串覆盖掉

代码演示:

//strcpy函数
#include<stdio.h>
#include<stdlib.h>
#include<string.h>int main(){
    
char a[20]="hello",b[]="hi";
printf("%s\n",a);
strcpy(a,b);
printf("%s\n",a);
strcpy(a,"see you again\n");
printf("%s\n",a);
return 0;
system("pause");
}
输出为:
hello
hi
see you againProcess returned 0 (0x0)   execution time : 0.338 s
Press any key to continue.

3、strcmp函数
strcmp函数即字符串比较函数,其格式为:
strcmp(字符串数组名1或者字符串,字符串数组名2或者字符串)需要注意的是它不能单独使用,需要放到if中去使用。

strcmp函数的作用是将两个字符串自左至右逐个字符比较(按ASCII码值大小比较),直到出现不同的字符或遇到 "\0"为止。
当字符串 1 =字符串 2 时,函数的返回值为0;
当字符串 1>字符串 2 时,函数的返回值为正整数;
当字符串 1 <字符串 2 时,函数的返回值为负整数;

代码演示:

//strcmp函数
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
    char a[]="them",b[]="they";int x;x=strcmp("the",b);printf("函数返回值=%d\n",x);if(strcmp(a,b)>0)printf("字符串a大\n");else if(strcmp(a,b)<0)printf("字符串b大\n");elseprintf("字符串a和b相等\n");return 0;system("pause");
}输出为:函数返回值=-1
字符串b大Process returned 0 (0x0)   execution time : 0.435 s
Press any key to continue.

4、strlen函数
strlen函数即测试字符串长度函数,其一般格式为:
strlen (字符数组名或者字符串)

strlen函数的作用是统计字符串的有效字符个数,遇见(不包括)第一个 “\0” 时结束,函数的返回值为字符串的有效字符个数。

代码演示:

//strcmp函数
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(){
    char a[]="good";printf("%d,%d\n",strlen(a),strlen("bye"));return 0;system("pause");
}输出结果为:
4
3
  相关解决方案