博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何在C ++中使用String compare()?
阅读量:2530 次
发布时间:2019-05-11

本文共 5911 字,大约阅读时间需要 19 分钟。

Hey, folks! In this article, we will be focusing on the working of C++ string compare() function along with its variants.

嘿伙计! 在本文中,我们将重点介绍C ++字符串compare()函数及其变体的工作



C ++中的String compare()入门 (Getting started with String compare() in C++)

C++ String library contains a huge set of functions to work with the string data and manipulate the characters.

C++ String library包含用于处理字符串数据和处理字符的大量函数。

The string.compare() in C++ compares the string values in a lexicographical manner i.e. it compares the ASCII values of the characters of the comparable strings.

string.compare() in C++string.compare() in C++字典方式比较字符串值,即,它比较可比较字符串的字符的ASCII值

Syntax:

句法:

string1.compare(string2)

The compare() function returns 0, if the strings are exactly the same.

如果字符串完全相同,则compare()函数将返回0。

And, if the strings are not equal, the function returns either of the following values:

并且,如果字符串不相等,该函数将返回以下值之一:

  • Value < 0: The function returns a value less than 0 if the ASCII value of the first non-matching character of string1 is less than ASCII value of the first character of string2.

    Value < 0 :如果string1的第一个不匹配字符的ASCII值小于string2的第一个字符的ASCII值,则该函数返回小于0的值。
  • Value > 0: The function returns a value greater than 0 if the ASCII value of the first non-matching character of string1 is greater than ASCII value of the first character of string2.

    Value > 0 :如果string1的第一个不匹配字符的ASCII值大于string2的第一个字符的ASCII值,则该函数返回大于0的值。

Example:

例:

#include
using namespace std; int main() { string str1="Python"; string str2="Python with Journaldev"; if((str1.compare(str2))==0) cout<<"Strings are equal!!"; else cout<<"Strings are not equal!!"; return 0; }

Output:

输出:

Strings are not equal!!


C ++中的字符串compare()的变体 (Variants of String compare() in C++)

C++ String compare() function can be used in different forms to compare the strings accordingly.

C ++字符串compare()函数可以以不同的形式用于相应地比较字符串。

Let us understand the different variants of the string.compare() function in the below section.

在下面的部分中,让我们了解string.compare() function的不同变体。



变体1:使用索引将字符串的一部分与其他字符串进行比较 (Variant 1: Comparing a portion of a string with the other using indexes)

In this variation, we can compare a portion of string1 with string2 by using the below syntax:

在此变体中,我们可以使用以下语法将string1的一部分与string2进行比较:

Syntax:

句法:

string1.compare(start-index, end-length, string2)
  • start-index: The starting index of the string1 to be compared with string2.

    start-index :要与string2比较的string1的起始索引。
  • end-length: The length of the string1 upto which the portion of string1 needs to be compared with string2.

    end-length :字符串1的长度,字符串1的一部分需要与之比较,字符串2的长度。

Example:

例:

#include
using namespace std; int main() { string str1="Python"; string str2="Python with Journaldev"; if((str2.compare(0, 6, str1))==0) cout<<"Python with Journaldev contains Python"; else cout<<"Python with Journaldev does not contain Python"; return 0; }

In the above example, the portion of characters of str2 from index 0 to length 6 i.e. ‘Python’ is compared with str1.

在上面的示例中,将str2的字符从索引0到长度6的部分(即“ Python”)与str1进行了比较。

Output:

输出:

Python with Journaldev contains Python


方案2:将字符串与C字符串的字符进行比较 (Variant 2: Comparing the string with the characters of the C-string)

The string.compare() function can be used to compare the string with the characters of the C-string format using the below syntax:

string.compare() function可用于使用以下语法将字符串与C字符串格式的字符进行比较:

Syntax:

句法:

string.compare(characters)

Example:

例:

#include
using namespace std; int main() { string str1="Python"; string str2="Python with Journaldev"; if((str1.compare("Python")) == 0) cout<<"Strings are equal!\n"; else cout<<"Strings are not equal!"; if((str2.compare("Journaldev")) > 0) cout<<"Python with Journaldev is greater than Journaldev"; else cout<<"Python with Journaldev is less than Journaldev"; return 0; }

Output:

输出:

Strings are equal!Python with Journaldev is greater than Journaldev


方案3:使用string.compare()函数比较字符串的一部分 (Variant 3: Comparing portion of strings using string.compare() function)

The string.compare() function can help us compare portions of the strings using the indexes.

string.compare()函数可以帮助我们使用索引比较字符串的各个部分。

Syntax:

句法:

string1.compare(start-index, end-length, string2, start-index, end-length)

Example:

例:

#include
using namespace std;int main() { string str1="Python"; string str2="Python with Journaldev"; if((str1.compare(0, 6, str2, 0, 6)==0)) cout<<"Strings are equal!\n"; else cout<<"Strings are not equal!"; return 0; }

Output:

输出:

Strings are equal!


变体4:比较字符串的一部分和C字符串 (Variant 4: Comparing portion of string with C-string)

We can compare some part of the string with the C-string by specifying the index using the below syntax:

通过使用以下语法指定索引,我们可以将字符串的某些部分与C字符串进行比较:

Syntax:

句法:

string.compare(start-index, end-length,'C-string')

Example:

例:

#include
using namespace std; int main() { string str1="Python"; //string str2="Python with Journaldev"; if((str1.compare(0, 6, "Python") == 0)) cout<<"Strings are equal!\n"; else cout<<"Strings are not equal!"; return 0; }

Output:

输出:

Strings are equal!


变体5:使用compare()函数将字符串的部分(字符)与C字符串的一部分进行比较 (Variant 5: Comparing portion(characters) of string with a portion of C-string using compare() function)

Syntax:

句法:

string.compare(start-index, end-length,'C-string',end-length)

Example:

例:

#include
using namespace std; int main() { string str1="Python"; //string str2="Python with Journaldev"; if((str1.compare(0, 6, "Python",6) == 0)) cout<<"Strings are equal!\n"; else cout<<"Strings are not equal!"; return 0; }

Output:

输出:

Strings are equal!


结论 (Conclusion)

Thus, we have come to the end of the explanation. In this article, we have understood the basic working of string compare() function along with the variations which can be made in the function.

这样,我们就结束了解释。 在本文中,我们了解了字符串compare()函数的基本工作原理以及该函数可以进行的各种变化。



参考资料 (References)

翻译自:

转载地址:http://bwlzd.baihongyu.com/

你可能感兴趣的文章
小D课堂 - 新版本微服务springcloud+Docker教程_6-01 微服务网关介绍和使用场景
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_5-05熔断降级服务异常报警通知
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_6-03 高级篇幅之zuul常用问题分析
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_5-08 断路器监控仪表参数
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_6-02 springcloud网关组件zuul
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-1.快速搭建SpringBoot项目,采用Eclipse...
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_1-4.在线教育后台数据库设计...
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-3.热部署在Eclipse和IDE里面的使用...
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_1-3.在线教育站点需求分析和架构设计...
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-4.后端项目分层分包及资源文件处理...
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-2.快速搭建SpringBoot项目,采用IDEA...
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-5.PageHelper分页插件使用
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-6.微信扫码登录回调本地域名映射工具Ngrock...
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-8.用户模块开发之保存微信用户信息...
查看>>
Linux下Nginx安装
查看>>
LVM扩容之xfs文件系统
查看>>
Hbase记录-client访问zookeeper大量断开以及参数调优分析(转载)
查看>>
代码片段收集
查看>>
vue-cli3创建项目时报错
查看>>
输入1-53周,输出1-53周的开始时间和结束时间
查看>>