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

From cppreference.com
< cpp‎ | string‎ | basic string

size_type copy( CharT* dest, size_type count, size_type pos = 0) const; |  |

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
pos | - | position of the first character to include
count | - | length of the substring

### Return value

number of characters copied

### Exceptions

std::out_of_range if pos > size().

### Complexity

linear in `count`

### Example

Run this code

    #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

substr | returns a substring (public member function)

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/string/basic_string/copy&oldid=108540"