【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;
}
相关推荐
aramae2 小时前
C++11:现代C++的里程碑
c语言·开发语言·c++·windows·git·后端
啦啦啦啦啦zzzz3 小时前
c++web服务器框架Oat++的API应用
服务器·c++·oat++
Irissgwe3 小时前
算法之二分查找
数据结构·c++·算法·二分查找
zh_xuan3 小时前
c++ span的用法
开发语言·c++·span
t-think4 小时前
一起think C++:C++基础篇(一)—— namespace、IO、缺省参数与函数重载
c++
持力行11 小时前
从C struct到C++中的class
c语言·c++
GIS阵地14 小时前
QgsRasterDataProvider 完整详解(QGIS 3.40.13 C++)
开发语言·c++·qt·开源软件·qgis
charlie11451419116 小时前
Cinux: 为大内核铺路
开发语言·c++·操作系统·现代c++
米罗篮19 小时前
矩阵快速幂 (Exponentiation By Squaring Applied To Matrices)
c++·线性代数·算法·矩阵