Partager via


basic_string::assign

Assigne de nouvelles valeurs de caractères aux contenus d'une chaîne.

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

Paramètres

  • _Ptr
    Pointeur vers les caractères de l'c interface C (chaîne à affecter à la chaîne cible.

  • _Count
    Nombre de caractères à ajouter, au plus, la chaîne source.

  • _Str
    La chaîne source dont les caractères doivent être assignés à la chaîne cible.

  • _Ch
    La valeur de caractère à affecter.

  • _First
    Un itérateur d'entrée, une const_pointer, ou un const_iterator adressage le premier caractère dans la plage de la chaîne source à affecter à la fourchette cible.

  • _Last
    Un itérateur d'entrée, une const_pointer, ou un const_iterator adressage qui au delà de le dernier caractère compris entre la chaîne source à affecter à la fourchette cible.

  • off
    Position à laquelle de nouveaux caractères commencent à être affectées.

Valeur de retour

Une référence à l'objet de chaîne qui est affecté de nouveaux caractères par la fonction membre.

Notes

Les chaînes peuvent être affectées de nouvelles valeurs de caractère. La nouvelle valeur peut être une chaîne et c interface C (chaîne) ou un caractère unique. operator= peut être utilisé si la nouvelle valeur peut être décrite par un seul paramètre ; sinon la fonction membre assign, qui contient plusieurs paramètres, peut être utilisée pour spécifier qu'une partie de la chaîne doit être assigné à une chaîne cible.

Exemple

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

Configuration requise

En-tête : <chaîne>

Espace de noms : std

Voir aussi

Référence

basic_string, classe