cpp / latest / string / basic_string / copy.html /

std::basic_string<CharT,Traits,Allocator>::copy

size_type copy( CharT* dest, size_type count, size_type pos = 0 ) const;
(until C++20)
constexpr size_type copy( CharT* dest, size_type count, size_type pos = 0 ) const;
(since C++20)

Copies a substring [pos, pos+count) to character string pointed to by dest. If the requested substring lasts past the end of the string, or if count == npos, the copied substring is [pos, size()). The resulting character string is not null-terminated.

If pos > size(), std::out_of_range is thrown.

Parameters

dest - pointer to the destination character string
count - length of the substring
pos - position of the first character to include

Return value

number of characters copied.

Exceptions

std::out_of_range if pos > size().

Complexity

linear in count.

Example

#include <string>
#include <iostream>
 
int main()
{
  std::string foo("quuuux");
  char bar[7]{};
  foo.copy(bar, sizeof bar);
  std::cout << bar << '\n';
}

Output:

quuuux

See also

returns a substring
(public member function)
(C++17)
copies characters
(public member function of std::basic_string_view<CharT,Traits>)
(C++11)
copies a range of elements to a new location
(function template)
copies one buffer to another
(function)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/string/basic_string/copy