Freigeben über


basic_string::copy

Kopien höchstens eine bestimmte Anzahl von Zeichen aus einer indizierten Position in einer Quellzeichenfolge zu einem Zielzeichenarray.

Diese Methode ist möglicherweise unsicher, da sie für den Aufrufer basiert, um zu überprüfen, ob 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, in das die Elemente kopiert werden sollen.

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

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

Rückgabewert

Die Anzahl der Zeichen tatsächlich 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: <string>

Namespace: std

Siehe auch

Referenz

basic_string Class