Поделиться через


basic_string::assign

Назначает новые значения символов в содержимое строки.

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
);

Параметры

  • _Ptr
    Указатель на C# символам строки для присвоения в строку целевого объекта.

  • _Count
    Число символов, который необходимо добавить, по крайней мере, из строки источника.

  • _Str
    Строка источника, символы, присвоенным в строку целевого объекта.

  • _Ch
    Значение символа, который необходимо присвоить.

  • _First
    Итератор, const_pointer или const_iterator ввода слишком первый символ в диапазоне строк источника, чтобы присвоить полигону.

  • _Last
    Итератор, const_pointer или const_iterator ввода слишком одно за последним символом в диапазоне строк источника, чтобы присвоить полигону.

  • off
    Позиция, с которой начинается новые символы, присвоенным.

Возвращаемое значение

Ссылка на строковый объект, которому присвоен новые символы функцией-членом.

Заметки

Строки можно присвоить новые символы. Новое значение может быть либо строкой и C# строкой собой либо отдельный символ. operator= может использоваться, если новое значение может быть описано единственным параметром; в противном случае функции-члена assign, который имеет несколько параметров, можно использовать, чтобы определить, какая часть строки, присвоенным в строку целевого объекта.

Пример

// 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;
}
  

Требования

Заголовок:<string>

Пространство имен: std

См. также

Ссылки

Класс basic_string