【C++】字符串

strlen:获取字符串长度

size_t strlen(const char *str);

计算字符串有效字符个数,不计入末尾\0

复制代码
int main()
{
	const char str[] = "hello";
	size_t len = strlen(str);
	printf("str的长度为%zu\n", len); 
	//strlen求字符串长度是求字符串的有效长度,不包括\0
	return 0;
}

strcmp:完整比较字符串

int strcmp(const char *lhs, const char *rhs);

复制代码
int main()
{
	//strcmp : 比较完整字符串
	char a[] = "banana";
	char b[] = "banana";
	int ret = strcmp(a, b);
	if (ret == 0)
	{
		printf("a和b相等\n");
	}
	else if (ret < 0)
	{
		printf("a<b\n");
	}
	else
	{
		printf("a>b\n");
	}

	return 0;
}

按 ASCII 值逐字符比较两个字符串:

1. lhs == rhs 返回 0

2. lhs > rhs 返回正数

3. lhs < rhs 返回负数

不能用 == 判断 C 字符串是否相等,必须使用该函数;比较遇到\0结束

strncmp:只比较前 count 个字符

只比较前count个字符

按 ASCII 值逐字符比较两个字符串:

1. lhs == rhs 返回 0

2. lhs > rhs 返回正数

3. lhs < rhs 返回负数

不能用 == 判断 C 字符串是否相等,必须使用该函数;比较遇到\0结束

复制代码
int main()
{
	 //strncmp : 只比较前count个字符
	char str1[] = "hello123";
	char str2[] = "hello999";
	int ret = strncmp(str1, str2,5);
	if (ret == 0)
	{
		printf("str1==str2\n");
	}
	else
	{
		printf("str1!=str2\n");
	}
	return 0;
}
相关推荐
影视飓风TIM9 小时前
C++ STL 完整入门笔记[9]:C++ 仿函数、priority_queue与STL算法底层笔记
数据结构·c++·笔记
依然鸣9 小时前
蓝桥杯多校模拟赛(第二场)题解
数据结构·c++·经验分享·学习·算法·图论
依然鸣9 小时前
蓝桥杯多校模拟赛 题解
数据结构·c++·经验分享·学习·算法·蓝桥杯
奇树谦10 小时前
ZeroMQ 详解:轻量级高性能消息通信框架及 C++ 使用示例
开发语言·c++
不相心 -w-10 小时前
现代C++——智能指针
开发语言·c++
爱和冰阔落10 小时前
【Linux】从匿名管道到进程池:任务派发、fd 继承 Bug 与完整实现
android·linux·运维·c++
TunerT_TQ10 小时前
Valhalla 静态工程审阅 #021|华为MindSpore 源码证据驱动评测【大厂开源基础设施特辑】
c++·开源·github·mfc·#大模型开源·#华为开源·#深度学习
2601_9561219721 小时前
二分算法(知识点+题目)
c++·算法
蒙奇·D·路飞-1 天前
OpenClaw:开源的《合金弹头》精神续作与终极本地部署指南
c++·开源·mfc
小星星闪亮登场1 天前
2026萌新联赛第三场-- (郑州轻工业大学)
数据结构·c++·经验分享·算法·贪心算法·排序算法·深度优先