basic_string::copy
Copias como máximo un número especificado de caracteres de una posición indizados en 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.En su lugar, considere la posibilidad de utilizar basic_string::_Copy_s.
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: <cadena>
espacio de nombres: std