cppreference.com > C++ Strings > assign assign Syntax:
      #include <string>
      void assign( size_type num, const char& val );
      void assign( input_iterator start, input_iterator end );
      string& assign( const string& str );
      string& assign( const char* str );
      string& assign( const char* str, size_type num );
      string& assign( const string& str, size_type index, size_type len );
      string& assign( size_type num, const char& ch );
The deafult assign() function gives the current string the values from start to end, or gives it num copies of val. In addition to the normal (C++ Lists) assign() functionality that all C++ containers have, strings possess an assign() function that also allows them to: assign str to the current string, assign the first num characters of str to the current string, assign a substring of str starting at index that is len characters long to the current string, For example, the following code:
       string str1, str2 = "War and Peace";
       str1.assign( str2, 4, 3 );
       cout << str1 << endl;
displays
       and
This function will destroy the previous contents of the string. Related topics: (C++ Lists) assign