字符串的函数

头文件

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

相关推荐
椰羊~王小美13 分钟前
LeetCode -- Flora -- edit 2025-04-27
算法·leetcode·职场和发展
缘友一世1 小时前
从线性回归到逻辑回归
算法·逻辑回归·线性回归
前端_学习之路2 小时前
javaScript--数据结构和算法
javascript·数据结构·算法
weixin_428498492 小时前
使用HYPRE库并行装配IJ稀疏矩阵指南: 矩阵预分配和重复利用
算法·矩阵
雾削木4 小时前
mAh 与 Wh:电量单位的深度解析
开发语言·c++·单片机·嵌入式硬件·算法·电脑
__lost4 小时前
小球在摆线上下落的物理过程MATLAB代码
开发语言·算法·matlab
mit6.8246 小时前
[Lc_week] 447 | 155 | Q1 | hash | pair {}调用
算法·leetcode·哈希算法·散列表
jerry6097 小时前
优先队列、堆笔记(算法第四版)
java·笔记·算法
勤劳的牛马7 小时前
📚 小白学算法 | 每日一题 | 算法实战:加1!
算法
Epiphany.5567 小时前
基于c++的LCA倍增法实现
c++·算法·深度优先