Condividi tramite


basic_string::copy

Copie al massimo un numero specificato di caratteri da una posizione indicizzata in una stringa di origine in una matrice di caratteri di destinazione.

Questo metodo è potenzialmente pericoloso, poiché si basa sul chiamante per controllare che i valori passati siano corretti.Si consiglia di utilizzare basic_string::_Copy_s.

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

Parametri

  • _Ptr
    La matrice di caratteri di destinazione in cui gli elementi devono essere copiati.

  • _ Count
    Il numero di caratteri da copiare, al massimo, la stringa di origine.

  • _Off
    La posizione iniziale nella stringa di origine da cui le copie devono essere effettuate.

Valore restituito

Il numero di caratteri in realtà copiato.

Note

Un carattere null non viene aggiunto alla fine della copia.

Esempio

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

Requisiti

intestazione: <string>

Spazio dei nomi: deviazione standard

Vedere anche

Riferimenti

basic_string Class