Freigeben über


basic_string::copy

Kopiert höchstens eine angegebene Anzahl von Zeichen aus einer indizierten Position in einer Quellzeichenfolge in ein Zielzeichenarray.

Diese Methode kann unsicher, da sie im Aufrufer basiert, um zu überprüfen, dass die übergebenen Werte korrekt sind. Verwenden Sie stattdessen basic_string::_Copy_s.

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

Parameter

  • _Ptr
    Das Zielzeichenarray, auf das die Elemente kopiert werden sollen.

  • _ Count
    Die Anzahl von höchstens die Quellzeichenfolge aus der kopiert werden Zeichen.

  • _Off
    Die Anfangsposition Quellzeichenfolge, in der von der Kopien gemacht werden sollen.

Rückgabewert

Die Anzahl der tatsächlich aus kopiert.

Hinweise

Ein NULL-Zeichen wird nicht an das Ende der Kopie angefügt.

Beispiel

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

Anforderungen

Header: <Zeichenfolge>

Namespace: std

Siehe auch

Referenz

basic_string-Klasse