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