首页 > C++中的string::compare的使用

C++中的string::compare的使用

在C++中使用std::string编写字符串相关操作时,我经常使用find方法,其实在有些场景下需要判断字符串是否相同,因而需要使用compare方法。下面是我的测试样例:

//description: 演示String::compare函数的用法,比较两个字符串是否相等?
//compile: g++ -g compare_string.cc -o compare_string#include 
#include 
using namespace std;int main(int argc, char* argv[])
{string str1("green apple");string str2("red apple");string str3("apple");if(str3.compare("apple") == 0)cout << str3 << " is an apple!" << endl;if(str1.compare(str2) !=0)cout << str1 << " is not " << str2 << endl;if(str1.compare(6, 5, "apple") == 0)cout << "still, " << str1 << " is an apple!" << endl;if(str2.compare(str2.size() - 5, 5, "apple") == 0)cout << "and " << str2 << " is also an apple!" << endl;if(str1.compare(6, 5, str2, 4, 5) == 0)cout << "therefore, both are apples!" << endl;return 0;
}
运行截图



参考文献





更多相关:

  •   dict中的fromkeys()函数可以通过一个list来创建一个用同一初始value的dict。 1 d = dict.fromkeys(["苹果", "菠萝"], ['apple', 'pineapple']) 2 print(d) 3 d.get("苹果").append('orange') 4 print(d){'苹果'...

  • 在opencv中,reshape函数比较有意思,它既可以改变矩阵的通道数,又可以对矩阵元素进行序列化,非常有用的一个函数。 函数原型: C++: Mat Mat::reshape(int cn, int rows=0) const 参数比较少,但设置的时候却要千万小心。 cn: 表示通道数(channels), 如果设为0,...

  • // WindowsSocketServer.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include #include #pragma comment(lib,"Ws2_32.lib")usin...

  • 使用count,返回的是被查找元素的个数。如果有,返回1;否则,返回0。注意,map中不存在相同元素,所以返回值只能是1或0。 使用find,返回的是被查找元素的位置,没有则返回map.end()。 #include #include #include #include

  • 1 //改代码用于精确计算除法的位数,比如求无限循环小数的循环节 2 //求循环节时,需要定义一个数组,用与标记是否有相同的余数,若是遇到时,结束循环,即得到循环节 3 #include 4 using namespace std; 5 6 int main() { 7 int a, b...

  • 机器学习简单代码示例    //在gcc-4.7.2下编译通过。 //命令行:g++ -Wall -ansi -O2 test.cpp -o test #include using namespace std; void input(int &oper,const bool meth) {//meth为true...