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

< cpp‎ | string‎ | basic string
 
 
 
std::basic_string
 
size_type copy( CharT* dest, size_type count, size_type pos = 0 ) const;
(C++20 前)
constexpr size_type copy( CharT* dest, size_type count, size_type pos = 0 ) const;
(C++20 起)

复制子串 [pos, pos+count)dest 所指向的字符串。若请求的子串越过 string 结尾,或若 count == npos ,则复制的子串为 [pos, size()) 。产生的字符串不是空终止的。

pos > size() ,则抛出 std::out_of_range

参数

dest - 指向目标字符串的指针
count - 子串长度
pos - 包含的首字符位置

返回值

复制的字符数

异常

pos > size() 则为 std::out_of_range

复杂度

count 成线性

示例

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

输出:

quuuux

参阅

返回子串
(公开成员函数)