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;
版权声明:本文为BMGongsg1原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。