Freigeben über


basic_string::assign

Weist dem Inhalt einer Zeichenfolge neue Zeichenwerte zu.

basic_string<CharType, Traits, Allocator>& assign(
    const value_type* _Ptr
);
basic_string<CharType, Traits, Allocator>& assign(
    const value_type* _Ptr,
    size_type _Count
);
basic_string<CharType, Traits, Allocator>& assign(
    const basic_string<CharType, Traits, Allocator>& _Str,
    size_type off, 
    size_type _Count
);
basic_string<CharType, Traits, Allocator>& assign(
    const basic_string<CharType, Traits, Allocator>& _Str
);
basic_string<CharType, Traits, Allocator>& assign(
    size_type _Count, 
    value_type _Ch
);
template<class InIt>
    basic_string<CharType, Traits, Allocator>& assign(
        InputIterator _First, 
        InputIterator _Last
    );
basic_string<CharType, Traits, Allocator>& assign(
    const_pointer _First,
    const_pointer _Last
);
basic_string<CharType, Traits, Allocator>& assign(
    const_iterator _First,
    const_iterator _Last
);

Parameter

  • _Ptr
    Ein Zeiger auf die Zeichen der Zielzeichenfolge C-Zeichenfolge, zugewiesen werden.

  • _Count
    Die Anzahl der aus höchstens den der angefügt Quellzeichenfolge werden Zeichen.

  • _Str
    Die Quellzeichenfolge, deren Zeichen der Zielzeichenfolge zugewiesen werden sollen.

  • _Ch
    Der zugewiesen werden Zeichenwert.

  • _First
    Ein Eingabeiterator, ein const_pointer oder ein const_iterator, das das erste Zeichen im Bereich von der dem Zielbereich zugewiesen werden Quellzeichenfolge, behandelt.

  • _Last
    Ein Eingabeiterator, ein const_pointer oder ein const_iterator, das über dem letzten Zeichen sind im Bereich von der dem Zielbereich zugewiesen werden Quellzeichenfolge, behandelt.

  • off
    Die Position, an der neue Zeichen beginnen, zugewiesen werden.

Rückgabewert

Ein Verweis auf das Zeichenfolgenobjekt, das neue Zeichen durch die Memberfunktion zugewiesen wird.

Hinweise

Die Zeichenfolgen können neue Zeichenwerte zugewiesen werden. Der neue Wert kann entweder eine Zeichenfolge und C-Zeichenfolge oder ein einzelnes Zeichen sein. operator= wird möglicherweise verwendet, wenn der neue Wert durch einen einzelnen Parameter beschrieben werden kann; Anderenfalls kann die assign-Memberfunktion, die mehrere Parameter verfügt, verwendet werden, um anzugeben, welchen Teil der Zeichenfolge einer Zielzeichenfolge zugewiesen werden soll.

Beispiel

// basic_string_assign.cpp
// compile with: /EHsc
#include <string>
#include <iostream>

int main( ) 
{
   using namespace std;

   // The first member function assigning the
   // characters of a C-string to a string
   string str1a;
   const char *cstr1a = "Out There";
   cout << "The C-string cstr1a is: " << cstr1a <<  "." << endl;
   str1a.assign ( cstr1a );
   cout << "Assigning the C-string cstr1a to string str1 gives: " 
        << str1a << "." << endl << endl;

   // The second member function assigning a specific
   // number of the of characters a C-string to a string
   string  str1b;
   const char *cstr1b = "Out There";
   cout << "The C-string cstr1b is: " << cstr1b << endl;
   str1b.assign ( cstr1b , 3 );
   cout << "Assigning the 1st part of the C-string cstr1b "
        << "to string str1 gives: " << str1b << "." 
        << endl << endl;

   // The third member function assigning a specific number
   // of the characters from one string to another string 
   string str1c ( "Hello " ), str2c ( "Wide World " );
   cout << "The string str2c is: " << str2c << endl;
   str1c.assign ( str2c , 5 , 5 );
   cout << "The newly assigned string str1 is: " 
        << str1c << "." << endl << endl;

   // The fourth member function assigning the characters
   // from one string to another string in two equivalent
   // ways, comparing the assign and operator =
   string str1d ( "Hello" ), str2d ( "Wide" ), str3d ( "World" );
   cout << "The original string str1 is: " << str1d << "." << endl;
   cout << "The string str2d is: " << str2d << endl;
   str1d.assign ( str2d );
   cout << "The string str1 newly assigned with string str2d is: " 
        << str1d << "." << endl;
   cout << "The string str3d is: " << str3d << "." << endl;
   str1d = str3d;
   cout << "The string str1 reassigned with string str3d is: " 
        << str1d << "." << endl << endl;

   // The fifth member function assigning a specific 
   // number of characters of a certain value to a string
   string str1e ( "Hello " );
   str1e.assign ( 4 , '!' );
   cout << "The string str1 assigned with eclamations is: " 
        << str1e << endl << endl;

   // The sixth member function assigning the value from
   // the range of one string to another string
   string str1f ( "Hello " ), str2f ( "Wide World " );
   cout << "The string str2f is: " << str2f << endl;
   str1f.assign ( str2f.begin ( ) + 5 , str2f.end ( ) - 1 );
   cout << "The string str1 assigned a range of string str2f is: " 
        << str1f << "." << endl << endl;
}
  

Anforderungen

Header: <Zeichenfolge>

Namespace: std

Siehe auch

Referenz

basic_string-Klasse