【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;
}
相关推荐
SWAGGY..9 分钟前
【C++进阶】:(7)红黑树的原理与 C++ 实现:结构设计、插入调整及性质验证
android·java·开发语言·c++·算法
(Charon)17 分钟前
【C++面试】堆内存与栈内存:string、vector和对象到底存在哪里
开发语言·c++·面试
xlq2232235 分钟前
全面复习3
c++
(Charon)41 分钟前
【C++面试】迭代器失效是什么?vector、list、map中如何避免迭代器失效
c++·算法·面试
苏辰澈1 小时前
C++自己的族谱规则:继承详解下
c语言·开发语言·c++·visualstudio
朝朝辞暮i2 小时前
C++ 第 36 课:Action——机械臂/VLA 非常重要
开发语言·c++·算法·ros2
无名猿2 小时前
锁进阶:atomic_flag 自旋锁、shared_mutex 读写锁与无锁的代价
c++·性能优化·并发编程·现代c++
ra90fy2 小时前
B3873 [GESP202309 六级] 小杨买饮料
c++·算法
尘客-追梦2 小时前
qmake / jom / 影子构建:把编译管起来
开发语言·c++·qt
Zootopia6262 小时前
论文复现|五机编队任务链
c语言·c++·考研·无人机·创业创新·学习方法·高考