zoukankan      html  css  js  c++  java
  • C++ string类insert用法总结

    basic_string& insert( size_type index, size_type count, CharT ch );
    在index位置插入count个字符ch
    string str = "meihao";
    string sstr = str.insert(0,2,'a');
    cout<<sstr<<endl;   //aameihao
    basic_string& insert( size_type index, const CharT* s );
    index位置插入一个常量字符串
    string str = "meihao";
    string sstr = str.insert(1,"hello~");
    cout<<sstr<<endl;   //mhello~eihao
    basic_string& insert( size_type index, const CharT* s, size_type count );
    index位置插入常量字符串中的count个字符
    string str = "meihao";
    string sstr = str.insert(1,"hello~",3);
    cout<<sstr<<endl;  //mheleihao
    basic_string& insert( size_type index, const basic_string& str );
    index位置插入常量string
    string str = "meihao";
    string sstr = str.insert(1,str);
    cout<<sstr<<endl;  //mmeihaoeihao
    basic_string& insert( size_type index, const basic_string& str,
                          size_type index_str, size_type count );
    index位置插入常量str的从index_str开始的count个字符
    string str1 = "meihao";
    string str2 = "hello~";
    string sstr = str2.insert(6,str1,3,3);
    cout<<sstr<<endl;  //hello~hao
    basic_string& insert( size_type index, const basic_string& str,
                          size_type index_str, size_type count = npos);
    index位置插入常量str从index_str开始的count个字符,count可以表示的最大值为npos.这个函数不构成重载
    npos表示一个常数,表示size_t的最大值,string的find函数如果未找到指定字符,返回的就是一个npos
    string str1 = "meihao";
    string str2 = "hello~";
    string sstr = str2.insert(6,str1,3,string::npos);
    cout<<sstr<<endl;  //hello~hao
    cout<<string::npos<<endl;  //4294967295
    iterator insert( iterator pos, CharT ch );
    iterator insert( const_iterator pos, CharT ch );
    string str1 = "meihao";
    string::iterator it = str1.insert(str1.begin(),'a');
    // string::iterator it = str1.insert(str1.cbegin(),'a');  //第二种
    cout<<str1<<endl;  //ameihao
    cout<<*it<<endl;  //a
    void insert( iterator pos, size_type count, CharT ch );
    迭代器指向的pos位置插入count个字符ch

    string str1 = "meihao";
    str1.insert(++str1.begin(),2,'a');
    cout<<str1<<endl;  //maaeihao
    iterator insert( const_iterator pos, size_type count, CharT ch );
    迭代器指向的pos位置插入count个字符ch
    string str1 = "meihao";
    string::iterator it = str1.insert(++str1.cbegin(),2,'a');  //和上面的可以混用
    cout<<str1<<endl;  //maaeihao
    void insert( iterator pos, InputIt first, InputIt last );

    iterator insert( const_iterator pos, InputIt first, InputIt last );
    string str1 = "meihao";
    string str2 = "hello";
    //string::iterator it = str1.insert(str1.begin(),str2.begin(),str2.end());
    string::iterator it = str1.insert(str1.begin(),std::begin(str2),std::end(str2));
    cout<<str1<<endl;  //hellomeihao
    cout<<*it<<endl;  //h

    本文来自博客园,作者:Mr-xxx,转载请注明原文链接:https://www.cnblogs.com/MrLiuZF/p/13979671.html

  • 相关阅读:
    Poj 1742 Coins(多重背包)
    Poj 2350 Above Average(精度控制)
    求二进制数中1的个数
    Poj 1659 Distance on Chessboard(国际象棋的走子规则)
    Poj 2411 Mondriaan's Dream(压缩矩阵DP)
    Poj 2136 Vertical Histogram(打印垂直直方图)
    Poj 1401 Factorial(计算N!尾数0的个数——质因数分解)
    poj 2390 Bank Interest(计算本利和)
    Poj 2533 Longest Ordered Subsequence(LIS)
    Poj 1887 Testing the CATCHER(LIS)
  • 原文地址:https://www.cnblogs.com/MrLiuZF/p/13979671.html
Copyright © 2011-2022 走看看