Namespaces
Variants
Views
Actions

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

From cppreference.com
< cpp‎ | string‎ | basic string
 
 
 
std::basic_string
Member functions
Element access
Iterators
Capacity
Operations
basic_string::copy
Search
Constants
Deduction guides (C++17)
Non-member functions
I/O
Comparison
(until C++20)(until C++20)(until C++20)(until C++20)(until C++20)(C++20)
Numeric conversion
(C++11)(C++11)(C++11)
(C++11)(C++11)
(C++11)(C++11)(C++11)
(C++11)
(C++11)
Helper classes
 
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.

Contents

[edit] Parameters

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

[edit] Return value

number of characters copied

[edit] Exceptions

std::out_of_range if pos > size().

[edit] Complexity

linear in count

[edit] 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

[edit] See also

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