std::basic_string<CharT,Traits,Allocator>::copy
< cpp | string | 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
参阅
返回子串 (公开成员函数) |