【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;
}
相关推荐
Mortalbreeze10 分钟前
0 - 1 BFS 算法详解:从基本原理到经典题目建模
数据结构·c++·算法·图论·宽度优先
进化中的刀盾兽2 小时前
从零实现 C++ Json-Rpc(十):把消息交给真实连接——MuduoConnection 与 ConnectionFactory
c++·rpc
青瓦梦滋9 小时前
WebSocket协议
linux·服务器·网络·c++·websocket·网络协议·http
CodeYp201914 小时前
第15讲:二叉搜索树
开发语言·c++·二叉搜索树
pipixia2003315 小时前
C++继承面试四连问:内存叠加、私有继承、sizeof、权限重映射
c++·面试·嵌入式·继承·面向对象·对象模型
牵猫散步的鱼儿18 小时前
C++ 内存分区
c++
choumin18 小时前
C++ 标准容器为什么不能存引用
c++·容器·引用类型
谙弆悕博士18 小时前
用 C 写了个 Windows 聊天室,踩了几个多线程和控制台的坑
c语言·开发语言·c++·windows·网络编程·聊天室
stolentime19 小时前
CF2277E Tree Guessing题解
c++·算法·贪心算法·交互·ad-hoc