Partager via


basic_string::copy

Copies au plus un nombre spécifié de caractères d'une position indexée dans une chaîne source en tableau de caractères cible.

Cette méthode est potentiellement dangereuse, car elle repose sur l'appelant de 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 dans lequel les éléments doivent être copiés.

  • _ Count
    Le nombre de caractères à copier, au plus, de la chaîne source.

  • _Off
    La position de début de la chaîne source dans lequel les copies doivent être effectuées.

Valeur de retour

Le nombre de caractères réellement copiés.

Notes

Un caractère Null n'est pas ajouté à la fin de la copie.

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 : <string>

l'espace de noms : DST

Voir aussi

Référence

basic_string Class