c++string字符串的比较是否相等问题

 更新时间:2023年08月09日 09:09:05   作者:25zhixun  
这篇文章主要介绍了c++string字符串的比较是否相等问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

c++string字符串的比较是否相等

最近遇到一个点,在c++中和Java很不一样,就是Java中string的比较必须是str1.equal(str2),如果采用str1==str2,则是永真式(记不清到底永真还是永假来着)。

而在c++中,似乎并没有equal这个方法,string的比较也很简单,直接通过str1==str2比较即可。

详见下方示例

#include <iostream>
#include <string>
using namespace std;
int main()
{
    if("abc"=="abc")
    {
        cout<<"abc等于abc"<<endl;
    }
    else
    {
        cout<<"abc不等于abc"<<endl;
    }
    if("abc"=="ab")
    {
        cout<<"abc等于ab"<<endl;
    }
    else
    {
        cout<<"abc不等于ab"<<endl;
    }
    string str1="abc",str2="abc",str3="ab";
    if(str1==str2)
    {
        cout<<str1<<"等于"<<str2<<endl;
    }
    else
    {
        cout<<str1<<"不等于"<<str2<<endl;
    }
    if(str1==str3)
    {
        cout<<str1<<"等于"<<str3<<endl;
    }
    else
    {
        cout<<str1<<"不等于"<<str3<<endl;
    }
    return 0;
}

c++判断两个字符串是否相等

#include <iostream>
#include <string>
#include <string.h>
using namespace std;
int main()
{
    string str1 = "abc", str2 = "abc";
    if ( strcmp( str1.c_str(), str2.c_str() ) == 0 )
        cout << "Yes" << endl;
    else
        cout << "No" << endl;
    return 0;
}
#include <string>
#include <string.h>
#include <iostream>
using namespace std;
string t1 = "helloWorld";
string t2 = "helloWorld";
int main(){
    if (t1 == t2)
    {
        cout<<"***t1 ,t2 是一样的\n";
        cout<<"这是正确的\n";
    }
    // error
    if (t1.c_str() == t2.c_str())
    {
        cout<<"@@@t1 ,t2 是一样的\n";
    }
    // error
    if (t1.c_str() == "helloWorld")
    {
        cout<<"===t1 ,t2 是一样的\n";
    }
    if (strcmp(t1.c_str(),t2.c_str()) == 0)
    {
        cout<<"###t1 ,t2 是一样的\n";
        cout<<"这是正确的\n";
    }
    return 0;
}

输出:

***t1 ,t2 是一样的
这是正确的
###t1 ,t2 是一样的
这是正确的

总结

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

相关文章

  • C语言之陷阱与缺陷详解

    C语言之陷阱与缺陷详解

    本片文章是对C++中陷阱与缺陷进行了详细的分析介绍,小编觉得本片文章讲解的非常详细,需要的朋友参考下,希望能够给你带来帮助
    2021-09-09
  • 基于OpenCV读取摄像头实现单个人脸验证MFC程序

    基于OpenCV读取摄像头实现单个人脸验证MFC程序

    这篇文章主要为大家详细介绍了基于OpenCV读取摄像头实现单个人脸验证MFC程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • C语言链表实现贪吃蛇小游戏

    C语言链表实现贪吃蛇小游戏

    这篇文章主要为大家详细介绍了C语言链表贪吃蛇小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-05-05
  • C++实现二叉树的堂兄弟节点查询

    C++实现二叉树的堂兄弟节点查询

    C++实现二叉树的堂兄弟节点查询,是指在二叉树中,找到两个节点深度相同但父节点不同的节点,即为堂兄弟节点。实现这一功能可以通过遍历二叉树并记录节点深度和父节点来实现
    2023-04-04
  • C语言实现24点问题详解

    C语言实现24点问题详解

    24点问题就是在屏幕上输入1〜10范围内的4个整数(可以有重复),对它们进行加、减、乘、除四则运算后(可以任意的加括号限定计算的优先级),寻找计算结果等于24的表达式。本文将通过C语言实现24点问题的求解,需要的可以参考一下
    2021-12-12
  • C++实现PyMysql的基本功能实例详解

    C++实现PyMysql的基本功能实例详解

    这篇文章主要介绍了C++实现PyMysql的基本功能,本文通过实例代码给大家介绍的非常详细,对大家的工作或学习有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • C++实现校园导游系统

    C++实现校园导游系统

    这篇文章主要为大家详细介绍了C++实现校园导游系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • C语言数据的存储超详细讲解上篇

    C语言数据的存储超详细讲解上篇

    使用编程语言进行编程时,需要用到各种变量来存储各种信息。变量保留的是它所存储的值的内存位置。这意味着,当您创建一个变量时,就会在内存中保留一些空间。您可能需要存储各种数据类型的信息,操作系统会根据变量的数据类型,来分配内存和决定在保留内存中存储什么
    2022-04-04
  • opencv3/C++实现霍夫圆/直线检测

    opencv3/C++实现霍夫圆/直线检测

    今天小编就为大家分享一篇opencv3/C++实现霍夫圆/直线检测,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • C++11中互斥锁的使用

    C++11中互斥锁的使用

    本文主要介绍了C++11中互斥锁的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06

最新评论