查找find
void test(){ string str = "1234567890123456123"; string str2 = "123"; //find:第一次遇到匹配的位置, 则查找结束 size_t pos = str.find("123"); //0 pos = str.find(str2); //0 pos = str.find("ab"); //4G pos = str.find("456abc", 0, 2); //3 pos = str.find("456abc", 0, 3); //3 pos = str.find("465abc", 0, 4); //4G //反向查找 pos = str.rfind(str2); //16 string str3 = "https://i.cnblogs.com/posts/edit"; pos = str3.find("://"); //5 //创建一个新字符串,从第下标为8的位置往后找13个字符 string sub = str3.substr(8, 13); string file = "test.tar.gz.txt"; pos = file.rfind('.'); //11 //创建一个新字符串,从第下标为12的位置往后找,找到结束 string suffix = file.substr(12); //找到str中任意一个字符第一次出现的位置 pos = str.find_first_of("45", 0); //3 //找到str中任意一个字符最后一次出现的位置 pos = str.find_last_of("45"); //14 }
字符串之间的比较
void test(){ string str = "123456"; string str1 = "ab"; bool ret; //string的比较:按照第一个字符的ascill值进行比较 //不是按字符串长度 ret = str == str1; //0 ret = str > str1; //0 ret = str1 > str; //1 cout << ret << endl; }
输入接口cin
void test(){ string str = "123456"; //输入 //cin: 遇到空格/换行结束 cin >> str; //getline:遇到换行结束,遇到空格不结束 getline(cin, str); //istream& getline(istream& is,string& str,char delim) //遇到delim结束 //遇到换行和空格都不结束 getline(cin, str, '.'); }

浙公网安备 33010602011771号