basic_string::_Copy_s

Копирование не более чем указанного количества символов из индексированной позиции в исходной строке в целевой массив символов.

size_type _Copy_s(
    value_type *_Dest,
    size_type _Dest_size,
    size_type _Count,
    size_type _Off = 0
) const;

Параметры

  • _Dest
    Массив знаков целевого объекта, к которому элементы копированию.

  • _Dest_size
    Размер _Dest.

  • _Count
    Число символов для копирования, по крайней мере, из строки источника.

  • _Off
    Позиция начала строки источника, из которой копирования выполнить.

Возвращаемое значение

Фактически копированное количество символов.

Заметки

Нуль-символ не добавляется в конец копирования.

Пример

// basic_string__Copy_s.cpp
// compile with: /EHsc
#include <string>
#include <iostream>

int main( )
{
    using namespace std;
    string str1("Hello World");
    basic_string<char>::iterator str_Iter;
    const int array1_size = 20;
    char array1[array1_size] = { 0 };
    const int array2_size = 10;
    char array2[array2_size] = { 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;
    nArray1 = str1._Copy_s(array1Ptr, array1_size, 12);
    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;
    nArray2 = str1._Copy_s(array2Ptr, array2_size, 5, 6);
    cout << "The number of copied characters in array2 is: "
         << nArray2 << endl;
    cout << "The copied characters array2 is: " << array2Ptr << endl;
}
  

Требования

Заголовок:<string>

Пространство имен: std

См. также

Ссылки

Класс basic_string

Безопасные библиотеки: стандартная библиотека C++