basic_string::assign
Przypisuje nowej wartości znaków zawartość ciągiem.
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
);
Parametry
_Ptr
Wskaźnik do ciągu c przypisuje się docelowy ciąg znaków._Count
Liczba znaków do dołączenia, co najwyżej z ciągu źródła._Str
Ciąg źródłowy, którego znaki mają zostać przypisane do ciągu docelowym._Ch
Przypisywanie wartości znaków._First
Wejściowe iteratora, const_pointer lub const_iterator adresowania pierwszego znaku w zakresie ciąg źródłowy ma być przypisany do zakresu docelowego._Last
Iteratora wprowadzania, const_pointer lub const_iterator adresowania z poza ostatni znak w zakresie ciąg źródłowy ma być przypisany do zakresu docelowego.off
Położenie, w którym rozpocznie przypisać nowe znaki.
Wartość zwracana
Odwołanie do obiektu ciąg, który jest przypisywany nowe znaki w funkcji składowej.
Uwagi
Ciągi znaków można przypisać nowej wartości znaków.Nowa wartość może być ciąg znaków i ciąg c lub pojedynczy znak.Operator = można stosować, jeśli nowa wartość może być opisany przez pojedynczy parametr; w przeciwnym razie funkcji składowej przypisać, który ma wiele parametrów, można określić, która część ciągu ma być przypisana do ciągu docelowym.
Przykład
// 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;
}
Wymagania
Nagłówek: <string>
Obszar nazw: std