字符串的函数

头文件

include <string.h>

五大函数:

strlen()、strcpy、strcat()、strcmp()、strstr()

用法:

strlen():计算字符串长度,但不计'\0'这个字符

cpp 复制代码
#include <string.h>
int main()
{
	char arr[] = "abcdef";
	int len = strlen(arr);
    printf("%d\n", len);
	return 0;
}

输出:6

strcpy:把arr2\[\]字符串复制到arr1\[\]上(包括终止符)

cpp 复制代码
#include <string.h>
int main()
{
	char arr1[] = "abcdef";
	char arr2[] = "abc";
	strcpy(arr1, arr2);
	printf("%s\n", arr1);
	return 0;
}

输出:abc

strcat():把arr2\[\]字符串追加到arr1\[\]上(覆盖掉arr1\[\]的'\0',arr2\[\]的'\0'保留下来)

cpp 复制代码
#include <string.h>
int main()
{
	char arr1[20] = "hello";
	char arr2[] = " world";
	strcat(arr1, arr2);
	printf("%s\n", arr1);
	return 0;
}

输出:hello world

strcmp():

  1. strcmp()函数根据ASCII编码开始比较俩个字符串中的第一对字符,如果彼此相等, 继续 比较下一对字符所对应的ASCII码值,直到字符不相同或者达到终止字符'\0';

  2. 函数返回值类型为 int

  3. 函数返回值为0,表示俩个字符串相等;

函数返回值为大于0的数字,表示第一个字符串大于第二个字符串;

函数返回值为小于0的数字,表示第一个字符串小于第二个字符串;

cpp 复制代码
#include <string.h>
int main()
{
	char* arr1 = "abcdef";
	char* arr2 = "abc";
	int ret = strcmp(arr1, arr2);
	if (ret > 0)
	{
		printf(">   ");
		printf("ret=%d\n", ret);
	}
	else if (ret == 0)
	{
		printf("=");
		printf("ret=%d\n", ret);
	}
	else
	{
		printf("<");
		printf("ret=%d\n", ret);
	}
	return 0;
}

输出:> ret=1

相关推荐
动词ing几秒前
【C语言】自定义函数+指针入门
c语言·开发语言·算法
重生之后端学习15 分钟前
283. 移动零[简单]✅
开发语言·数据结构·算法·leetcode·职场和发展
一只小小的芙厨41 分钟前
基础数论总结
笔记·学习·算法
夜不会漫长2 小时前
C++入门(1)
开发语言·c++·算法
wen_zhufeng3 小时前
IndexTTS 2.5 技术报告
人工智能·算法·机器学习
大熊背4 小时前
树莓派相机自动白平衡详解(四)
算法·树莓派·白平衡·isppipeline
一米阳光86614 小时前
软考(中级)软件设计师核心笔记(9)算法——背包问题
笔记·算法·职场发展·软考·软件设计师·中级职称
晚风醉蝶4 小时前
1-11-奇偶排序-OddEvenSort
java·数据结构·算法
旖旎夜光4 小时前
LeetCode 852:山脉数组的峰顶索引(二分查找) —— 题解
数据结构·c++·算法·leetcode·二分查找
..Dauntless..4 小时前
【C++】继承——基类和派生类的配合
开发语言·c++·算法