【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;
}
相关推荐
ShineWinsu3 小时前
对于C++:C++20中线程、初始化、Lambda与内存视图等特性的解析
c++·c++20
张张的快乐时光呀!4 小时前
记录使用 MFC 打开文件对话框读取一张图片并做简单的灰度转换算法简单学习过程
c++·mfc
东华万里5 小时前
第41篇 C++类与对象核心知识梳理:从底层原理到面试实战
开发语言·c++·大学生专区
qq_589666056 小时前
C语言、C++与C#的区别详解
c语言·c++·c#
万法若空6 小时前
排列组合恒等式
c++·算法
老洋葱Mr_Onion7 小时前
【C++】CSP-J初赛模拟卷七错题整理(作者自用)
c++·算法·深度优先
电商API_180079052478 小时前
速卖通商品采集API技术文章
java·开发语言·c++·api·跨境电商·商品详情
汉克老师9 小时前
CSP-J 初赛(以满分为目标):第四课《看懂计算机到底在算什么!——C++变量、表达式和运算符 》
c++·小学生·学c++编程
小小龙学IT9 小时前
zstd(Zstandard)开源压缩库实战指南:让数据又快又小
c++·开源
小小龙学IT10 小时前
GLM 开源图形学数学库深度解析:从向量、矩阵到四元数的完整实战
c++·矩阵·开源·mfc