compare函数在>时返回 1,<时返回 -1,==时返回 0。
比较区分大小写,比较时参考字典顺序,排越前面的越小。
大写的A比小写的a小。
int compare(const string& s) const;//与字符串s比较
int compare(const char* s) const;//与字符串s比较
#include <iostream> #include <vector> using namespace std; /* compare函数在>时返回 1,<时返回 -1,==时返回 0。 比较区分大小写,比较时参考字典顺序,排越前面的越小。 大写的A比小写的a小。 int compare(const string& s) const;//与字符串s比较 int compare(const char* s) const;//与字符串s比较 */ void test01() { string str1 = "abcde"; string str2 = "Abcdef"; int ret = str1.compare(str2); if (ret == 0) { cout << "str1 == str2" << endl; } else if (ret == 1) { cout << "str1 > str2" << endl; } else if (ret == -1) { cout << "str1 < str2" << endl; } } // string substr(int pos = 0, int n = npos) const;//返回由pos开始的n个字符组成的字符串 void test02() { string str = "abcdefg"; string subStr = str.substr(2, 3); cout << subStr << endl; string email = "gaojing@nowcoder.com"; // 获取@的索引 int pos = email.find("@"); // pos = 7 string userName = email.substr(0, pos); cout << userName << endl; } // 提升 void test03() { string str = "192.168.1.1"; vector<string> v; int pos = -1; int start = 0; while (true) { pos = str.find(".", start); if (pos == -1) { string subStr = str.substr(start, str.size() - start); v.push_back(subStr); break; } string subStr = str.substr(start, pos - start); v.push_back(subStr); start = pos + 1; } for (vector<string>::iterator it = v.begin(); it != v.end(); it++) { cout << *it << endl; } } // string比较、截取子串 int main() { test03(); return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)