c++string类 append用法

来源:互联网 发布:博克软件 收入 编辑:程序博客网 时间:2024/05/22 08:12

basic_string& append( size_type count, CharT ch);
(1)
basic_string& append(const basic_string& str);
(2) (3)
basic_string& append(const basic_string& str,

                      size_type pos,

                      size_type count );
(until C++14)
basic_string& append(const basic_string& str,

                      size_type pos,

                      size_type count = npos);
(since C++14)
basic_string& append(const CharT* s, size_type count);
(4)
basic_string& append(const CharT* s);
(5)
template<class InputIt>
basic_string& append( InputIt first, InputIt last);
(6)
basic_string& append(std::initializer_list<CharT> ilist );
(7) (since C++11)
basic_string& append(std::basic_string_view<CharT, Traits> sv);
(8) (since C++17)
template<class T>

basic_string& append(const T& t, size_type pos,

                      size_type count = npos);
(9) (since C++17)


CODE :

int main(){
    std::basic_string<char> str ="string";
    constchar* cptr="C-string";
    constchar carr[]="Two and one";
 
   
std::string output;
 
   
// 1) Append a char 3 times.
    // Notice, this is the only overload accepting chars.
    output.append(3,'*');
    std::cout<<"1) "<< output<<"\n";
 
   
// 2) Append a whole string
    output.append(str);
    std::cout<<"2) "<< output<<"\n";
 
   
// 3) Append part of a string (last 3 letters, in this case)
    output.append(str,3,3);
    std::cout<<"3) "<< output<<"\n";
 
   
// 4) Append part of a C-string
    // Notice, because `append` returns *this, we can chain calls together
    output.append(1,' ').append(carr,4);
    std::cout<<"4) "<< output<<"\n";
 
   
// 5) Append a whole C-string
    output.append(cptr);
    std::cout<<"5) "<< output<<"\n";
 
   
// 6) Append range
    output.append(&carr[3],std::end(carr));
    std::cout<<"6) "<< output<<"\n";
 
   
// 7) Append initializer list
    output.append({' ','l','i','s','t'});
    std::cout<<"7) "<< output<<"\n";


OUTPUT:

1) ***
2) ***string
3) ***stringing
4) ***stringing Two
5) ***stringing Two C-string
6) ***stringing Two C-string and one
7) ***stringing Two C-string and one list