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