阿鑫来了  

 

查找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, '.');
}

 

posted on 2021-05-14 16:49  阿鑫来了  阅读(35)  评论(0)    收藏  举报