C++之string字符串比较方法

这篇具有很好参考价值的文章主要介绍了C++之string字符串比较方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

📣📣📣📣📣📣📣📣
✏️作者主页:枫霜剑客
📋 系列专栏:C++实战宝典
🌲 上一篇: C++之string字符串不同类型间转换
📣📣📣📣📣📣📣📣

🎍逐梦编程,让中华屹立世界之巅。
🎍简单的事情重复做,重复的事情用心做,用心的事情坚持做;

C++之string字符串比较方法


前言

字符串可以和类型相同的字符串相比较,也可以和具有同样字符类型的数组比较。

Basic_string 类模板既提供了 >、<、==、>=、<=、!= 等比较运算符,还提供了 compare() 函数,其中 compare() 函数支持多参数处理,支持用索引值和长度定位子串进行比较。该函数返回一个整数来表示比较结果。如果相比较的两个子串相同,compare() 函数返回 0,否则返回非零值。


一、compare()函数原型

int compare (const basic_string& s) const;
int compare (const Ch* p) const;
int compare (size_type pos, size_type n, const basic_string& s) const;
int compare (size_type pos, size_type n, const basic_string& s,size_type pos2, size_type n2) const;
int compare (size_type pos, size_type n, const Ch* p, size_type = npos) const;

二、比较方式:

字符串比较是按字符的ASCII码进行对比
若 = 返回 0
若 > 返回 1
若 < 返回 -1

三、compare()函数应用

代码如下(示例):

/*-----------------------------------【程序说明】----------------------------
*			 项目命题:   C++之string字符串比较方法
* 			 代码所属:   枫霜剑客
* 			     作者:   阿甘
* 		     开发时间:   2022/9/03
*			IDE 版 本:   Visual Studio 2019
*		     项目版本:   1.0.0.1
*---------------------------------------------------------------------------*/
原文链接:https://blog.csdn.net/gzplyx?type=blog

#include <iostream>
#include <string>
using namespace std;
int main ()
{
    string X ("aBcdef");
    string Y ("AbcdEf");
    string C ("789456");
    string D ("789dfg");
    //下面是各种比较方法
    int a=X.compare (Y); //完整的A和B的比较
    int b=X.compare(1,5,Y,4,2); //"Bcdef"和"AbcdEf"比较
    int p=X.compare(1,5,Y,4,2); //"Bcdef"和"Ef"比较
    int q=C.compare(0,3,D,0,3); //"789"和"789"比较
    cout << "a = " << a << ", b = " << b <<", p = " << p << ", q = " << q << endl;
    cin.get();
    return 0;
}

四、比较运算符

String 类的常见运算符包括 >、<、==、>=、<=、!=。其意义分别为"大于"、“小于”、“等于”、“大于等于”、“小于等于”、“不等于”。

代码如下(示例):

/*-----------------------------------【程序说明】----------------------------
*			 项目命题:   C++之string字符串比较方法
* 			 代码所属:   枫霜剑客
* 			     作者:   阿甘
* 		     开发时间:   2022/9/03
*			IDE 版 本:   Visual Studio 2019
*		     项目版本:   1.0.0.1
*---------------------------------------------------------------------------*/
//原文链接:https://blog.csdn.net/gzplyx?type=blog

#include <iostream>
#include <string>
using namespace std;
void JudgeString(int ch)
{
    cout << (ch?"True":"False")<<endl;
}

int main ()
{
    string Z = "DEF";
    string CH1 = "ABC";
    string CH2 = "DEF";
    string CH3 = "DEFG";
    string CH4 ="def";
    cout << "Z = " << Z << endl;
    cout << "CH1 = " << CH1 <<endl;
    cout << "CH2 = " << CH2 <<endl;
    cout << "CH3 = " << CH3 <<endl;
    cout << "CH4 = " << CH4 <<endl;
    cout << "Z <= CH1 returned ";
    JudgeString (Z <=CH1);
    cout << "Z <= CH2 returned ";
    JudgeString (Z <= CH2);
    cout << "Z <= CP3 returned ";
    JudgeString (Z <= CH3);
    cout << "CH1 <= Z returned ";
    JudgeString (CH1 <= Z);
    cout << "CH2 <= Z returned ";
    JudgeString (CH2 <= Z);
    cout << "CH4 <= Z returned ";
    JudgeString (CH4 <= Z);
    cin.get();
    return 0;
}

总结

C++之string字符串比较方法

以上就是今天要讲的内容,使用比较运算符可以非常容易地实现字符串的大小比较。在使用时比较运算符时,请大家注意,对于参加比较的两个字符串,任一个字符串均不能为 NULL,否则程序会异常退出。

大家的「关注❤️ + 点赞👍 + 收藏⭐」就是我创作的最大动力!谢谢大家的支持,我们下文见!

C++之string字符串比较方法
C++之string字符串比较方法

壁纸

C++之string字符串比较方法文章来源地址https://www.toymoban.com/news/detail-435823.html

到了这里,关于C++之string字符串比较方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【string题解 C++】字符串相乘 | 翻转字符串III:翻转单词

    目录 字符串相乘 题面 错误记录 Way1 拆分成“先乘后加” 思路 实现 时空复杂度分析 反思 Way2 用数组 思路 实现 时空复杂度分析 翻转字符串III:翻转字符串中的单词 题面 错误记录 思路1 遍历找单词 实现 思路2 暴力解法 实现 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平

    2024年02月07日
    浏览(62)
  • C++ string判断是否包含子字符串

    C++的string类提供了字符串中查找另一个字符串的函数find。 其重载形式为: 功能为在string对象中,查找参数string类型的字符串是否存在,如果存在,返回起始位置。不存在则返回 string::npos 。

    2024年02月02日
    浏览(52)
  • Java Base64字符串与String字符串互转方法

    在使用String转Base64和Base64转String上有点小问题,特此记录。 结果: 也是跟上面差不多的思路,将Base64转为byte数组,再转为String

    2024年02月15日
    浏览(60)
  • String字符串,FastJson常用操作方法

    1、创建配置环境 注意 测试的时候需要更改一下idea的设置 2、FastJson简介 3、 序列化 测试 JSON.toJSONString(序列化java对象) 4、 反序列化 5、枚举介绍 6、JSONField注解的使用 1、注解 2、作用于字段上面 3、格式化日期时间 4、指定字段不序列化 5、指定字段顺序 6、自定义序列化内容

    2024年02月21日
    浏览(55)
  • String类即字符串的相关方法

    文章目录 前言 一、字符串是什么? 二、使用方法 1.String类 2.字符串的相关方法 总结         众所周知,现主流的编程语言都是以英文为计算机所识别,所以当中国程序员想要创建一种,可以操纵中文的,数据类型时,String字符串类型,便有了极大的帮助。         字符串

    2024年02月08日
    浏览(59)
  • Java截取String字符串的方法

    1.指定字符截取字符串,返回字符串数组 2.指定索引,截取字符串 3.通过StringUtils类截取字符串

    2024年04月22日
    浏览(43)
  • Java字符串比较的方法(3种)

    equals()方法将两个字符串每个字符是否相同进行逐一比较,若相同返回true反之返回false,对于字符的大小写也在检查范围内,equals()方法格式如下:str1.equals(str2); equalsIgnoreCase()方法与equals()方法完全相同,唯一不同是equalsIgnoreCase()方法比较时不区分大小写,equalsIgnoreCase()方法格

    2024年02月15日
    浏览(76)
  • C++中如何将string(字符串)转换为int(整数)

    C++ 编程语言有一些内置数据类型: int , 对于整数(例如 10、150) double ,对于浮点数(例如 5.0、4.5) char ,对于单个字符(例如“D”、“!”) string ,对于字符序列(例如“Hello”) bool , 对于布尔值(true 或 false) C++ 是一种 强类型 编程语言,这意味着当您创建变量时,你

    2024年02月06日
    浏览(81)
  • c++:string相关的oj题(把字符串转换成整数、344.反转字符串、387. 字符串中的第一个唯一字符、917. 仅仅反转字母)

    传送门 首先处理空字符串为空的情况() 再处理第一个字符可能为 + - 的情况,直接定一个 flag 初始化为1,遇到 - 就赋值为-1 接下来就利用迭代器进行循环,如果是字符数字就直接使用 ret = ret * 10 + (*it - \\\'0\\\'); 是其他字符,直接return 0;了 传送门 大家学习了c++,可能直接就想

    2024年01月23日
    浏览(79)
  • String字符串分割的3种方法 Java

    使用了 split(string) 方法通过指定分隔符将字符串分割为数组 在java.lang包中有String.split()方法,返回是一个数组。“.”和“|”都是转义字符,必须得加\\\"“; 如果用“.”作为分隔的话,必须是如下写法:String.split(”.“),这样才能正确的分隔开,不能用String.split(”.“); 如果用“

    2024年01月24日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包