basic_string::copy
Копирование не более чем указанного количества символов из индексированной позиции в исходной строке в целевой массив символов.
Этот метод потенциально опасным, так как он зависит от вызывающего объекта, чтобы проверить, переданные значения верны. Вместо него рекомендуется использовать класс basic_string::_Copy_s.
size_type copy(
value_type* _Ptr,
size_type _Count,
size_type _Off = 0
) const;
Параметры
_Ptr
Массив знаков целевого объекта, к которому элементы копированию._ Count
Число символов для копирования, по крайней мере, из строки источника._Off
Позиция начала строки источника, из которой копирования выполнить.
Возвращаемое значение
Фактически копированное количество символов.
Заметки
Нуль-символ не добавляется в конец копирования.
Пример
// 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;
}
Требования
Заголовок:<string>
Пространство имен: std