C 语言

关注公众号 jb51net

关闭
首页 > 软件编程 > C 语言 > C++比较两个字符串或string是否相等

C++如何比较两个字符串或string是否相等strcmp()和compare()

作者:TechArtisan6

这篇文章主要介绍了C++如何比较两个字符串或string是否相等strcmp()和compare()问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

如果要比较的对象是char字符串

则利用函数

strcmp(const char s1,const char s2)

:strcmp(const char s1,const char s2) 这里面只能比较字符串,即可用于比较两个字符串常量,或比较数组和字符串常量,不能比较数字等其他形式的参数。

代码示例

#include<iostream>
#include<string>

using namespace std;

int main()
{

	char str1[10000];
	char str2[10000];

	cout << "两个字符串比较是否相同" << endl;
	cout << "请输入第一个字符串:" << endl;
	cin.get(str1, 10000).get();

	cout << "请输入第二个字符串:" << endl;
	cin.get(str2, 10000).get();
	

	if (strcmp(str1, str2) == 0)
	{
		cout << "您输入的两个字符串相同" << endl;
	}
	else
	{
		cout << "您输入的两个字符串不相同" << endl;
	}


	system("pause");
	return 0;
}

运行结果

如果要比较的对象是两个string

则利用函数 compare()

若要比较string s1和s2则写为:s1.compare(s2),若返回值为0,则两者相等。

代码示例

#include<iostream>
#include<string>

using namespace std;

int main()
{


	char str1[10000];
	char str2[10000];

	string s1;
	string s2;
	cout << "两个字符串比较是否相同" << endl;

	cout << "请输入第一个字符串:" << endl;
	cin.get(str1, 10000).get();

	cout << "请输入第二个字符串:" << endl;
	cin.get(str2, 10000).get();

	s1 = str1;
	s2 = str2;

	if ( (s1.compare(s2)) == 0 )
	{
		cout << "您输入的两个字符串相同" << endl;
	}
	else
	{
		cout << "您输入的两个字符串不相同" << endl;
	}


	system("pause");
	return 0;
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文