C语言中几个处理字符串的函数 strcat()、strcpy()、strcmp()

代码骑士
优质创作者: 游戏开发技术领域
2023-01-14 22:47:30

1、字符串连接函数 strcat()

头文件:string.h

strcat 是 string catenate 的缩写,意思是把两个字符串拼接在一起,语法格式为:

strcat(arrayName1, arrayName2);

strcat() 将把 arrayName2 连接到 arrayName1 后面,并删除原来 arrayName1 最后的结束标志'\0'。这意味着,arrayName1 必须足够长,要能够同时容纳 arrayName1 和 arrayName2,否则会越界(超出范围)。

strcat() 的返回值为 arrayName1 的地址。

示例:

#include<stdio.h>
#include<string.h>

void displayString(int n,char *s){
	for(int i=0;i<n;i++){
		printf("%c",s[i]);
	}
}

int main(){
	char s1[]="hello,";
	char s2[]="world!";
	strcat(s1, s2);
	displayString(strlen(s1)+strlen(s2),s1);
	return 0;   
} 

 

 

2、字符串复制函数 strcpy()

strcpy 是 string copy 的缩写,意思是字符串复制,也即将字符串从一个地方复制到另外一个地方,语法格式为:

strcpy(arrayName1, arrayName2);

strcpy() 会把 arrayName2 中的字符串拷贝到 arrayName1 中,字符串结束标志'\0'也一同拷贝。请看下面的例子:

#include<stdio.h>
#include<string.h>

int main(){
	char s1[]="hello,";
	char s2[]="world!";
	strcpy(s1, s2);
	printf("%s",s1);
	return 0;   
} 

 

 strcpy() 要求 arrayName1 要有足够的长度,否则不能全部装入所拷贝的字符串。

3、字符串比较函数 strcmp()

strcmp 是 string compare 的缩写,意思是字符串比较,语法格式为:

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 s1[10]="hello,";
	char s2[20]="world!";
	char s3[10]="hello";
	char s4[20]="world!";
	int com1=strcmp(s1, s2);
	int com2=strcmp(s1, s3);
	int com3=strcmp(s2, s4);
	printf("s1<s2:%d\n",com1);
	printf("s1>s3:%d\n",com2);
	printf("s2=s4:%d\n",com3);
	return 0;   
} 

 

...全文
387 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

5

社区成员

发帖
与我相关
我的任务
社区描述
考研408:数据结构、计算机组成原理、操作系统、计算机网络
学习方法考研面试 其他
社区管理员
  • 代码骑士
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧