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