Partager via


basic_string::copy

Copie tout au plus un nombre déterminé de caractères à partir d'une position indexée dans une chaîne source dans un tableau de caractères cible.

Cette méthode est potentiellement non fiable, car elle repose sur l'appelant pour vérifier que les valeurs passées sont correctes. Il vaut mieux utiliser basic_string::_Copy_s à la place.

size_type copy(
    value_type* _Ptr, 
    size_type _Count,
    size_type _Off = 0
) const;

Paramètres

  • _Ptr
    Le tableau de caractères cible vers lequel les éléments seront copiés.

  • _ Count
    Nombre de caractères à copier (au plus) de la chaîne source.

  • _Off
    La position de départ dans la chaîne source à partir de laquelle les sauvegardes doivent être effectuées.

Valeur de retour

Nombre de caractères effectivement copiés.

Notes

Un caractère NULL n'est pas ajouté à la fin de la sauvegarde.

Exemple

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

int main( )
{
   using namespace std;
   string str1 ( "Hello World" );
   basic_string <char>::iterator str_Iter;
   char array1 [ 20 ] = { 0 };
   char array2 [ 10 ] = { 0 };
   basic_string <char>:: pointer array1Ptr = array1;
   basic_string <char>:: value_type *array2Ptr = array2;

   cout << "The original string str1 is: ";
   for ( str_Iter = str1.begin( ); str_Iter != str1.end( ); str_Iter++ )
      cout << *str_Iter;
   cout << endl;

   basic_string <char>:: size_type nArray1;
   // Note: string::copy is potentially unsafe, consider
   // using string::_Copy_s instead.
   nArray1 = str1.copy ( array1Ptr , 12 );  // C4996
   cout << "The number of copied characters in array1 is: "
        << nArray1 << endl;
   cout << "The copied characters array1 is: " << array1 << endl;

   basic_string <char>:: size_type nArray2;
   // Note: string::copy is potentially unsafe, consider
   // using string::_Copy_s instead.
   nArray2 = str1.copy ( array2Ptr , 5 , 6  );  // C4996
   cout << "The number of copied characters in array2 is: "
           << nArray2 << endl;
   cout << "The copied characters array2 is: " << array2Ptr << endl;
}
  

Configuration requise

En-tête : <chaîne>

Espace de noms : std

Voir aussi

Référence

basic_string, classe