Compartir a través de


basic_string::copy

Copias como máximo un número de caracteres especificado de una posición indexada de una cadena de origen a una matriz de caracteres de destino.

Este método es potencialmente peligroso, como se basa en el llamador para comprobar que los valores pasados son correctos. Considere usar basic_string::_Copy_s en su lugar.

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

Parámetros

  • _Ptr
    La matriz de caracteres de destino en la que los elementos deben copiarse.

  • _ Count
    El número de caracteres que se van a copiar, como máximo, de la cadena de origen.

  • _Off
    El principio colocar en la cadena de origen desde la que copias deben hacerse.

Valor devuelto

El número de caracteres copiado realmente.

Comentarios

Un carácter null no se anexa al final de la copia.

Ejemplo

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

Requisitos

Encabezado: <string>

Espacio de nombres: std

Vea también

Referencia

basic_string (Clase)