C++string 字符的比较(compare函数的使用)

compare()函数

compare函数

如果比较的内容相同就返回0,如果按字典顺序str1大就返回1,否则返回-1

基础用法

str1.compare("xxx");                    //直接比较字符常量
str1.compare(str2);                    //跟另外一个string型数据比较
str1.compare(3,str2);                   //截取前3个字符与str2比较
str1.compare(1,lenth,str2);            //从下标1的地方截取lenth长度的数据与str2比较(下标1就是               
                                         第二个字符)

str1.compare(1,lenth,str2,1,lenth)    //从下标1的地方截取lenth长度的数据与str2从下标1的地方截取                
                                       length长度的数据比较

实例

string str1="abbbc",str2="aabbbc";
cout<<str1.compare(str2)<<endl;    //结果是1,因为str1第二位的字典顺序比str2第二位的顺序大

str2="abbbc1";
cout<<str1.compare(str2)<<endl;    //结果是-1,因为在前面的字典顺序一样的情况下,str2多一位

str2="abbbc";
cout<<str1.compare(str2)<<endl;    //结果是0

 注1:str1.compare(1.length,str2)中的length是截取的长度而不是结束的字符下标,例如2,3是从下标2截取到下标5;

注2:compare函数会区分字母大小写,字典顺序中a比A大 

    string str1="abbbc";
	cout<<str1.compare("Abbbc")<<endl;    //结果是1

函数原形

类 basic_string 的成员函数 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;

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值