字符串的函数

头文件

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

相关推荐
样例过了就是过了37 分钟前
LeetCode热题100 柱状图中最大的矩形
数据结构·c++·算法·leetcode
wsoz44 分钟前
Leetcode哈希-day1
算法·leetcode·哈希算法
阿Y加油吧1 小时前
LeetCode 二叉搜索树双神题通关!有序数组转平衡 BST + 验证 BST,小白递归一把梭
java·算法·leetcode
liuyao_xianhui1 小时前
优选算法_最小基因变化_bfs_C++
java·开发语言·数据结构·c++·算法·哈希算法·宽度优先
黎阳之光2 小时前
数智技术如何赋能空天地一体化,领跑低空经济新赛道
大数据·人工智能·算法·安全·数字孪生
小肝一下2 小时前
每日两道力扣,day2
c++·算法·leetcode·职场和发展
漂流瓶jz3 小时前
UVA-11846 找座位 题解答案代码 算法竞赛入门经典第二版
数据结构·算法·排序算法·深度优先·aoapc·算法竞赛入门经典·uva
米粒13 小时前
力扣算法刷题 Day 31 (贪心总结)
算法·leetcode·职场和发展
少许极端3 小时前
算法奇妙屋(四十)-贪心算法学习之路7
java·学习·算法·贪心算法
AlenTech4 小时前
647. 回文子串 - 力扣(LeetCode)
算法·leetcode·职场和发展