std::basic_string<CharT,Traits,Allocator>:: copy
| Classes | ||||
|
(C++17)
|
||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
size_type copy
(
CharT
*
dest, size_type count, size_type pos
=
0
)
const
;
|
(constexpr since C++20) | |
부분 문자열
[
pos
,
pos
+
count
)
을
dest
가 가리키는 문자 배열로 복사합니다. 요청된 부분 문자열이 문자열의 끝을 지나서 계속되거나,
count
==
npos
인 경우, 복사되는 부분 문자열은
[
pos
,
size()
)
입니다.
결과 문자열은 null 종료되지 않습니다.
목차 |
매개변수
| dest | - | 대상 문자열을 가리키는 포인터 |
| count | - | 부분 문자열의 길이 |
| pos | - | 포함할 첫 번째 문자의 위치 |
반환값
복사된 문자 수.
예외
std::out_of_range 만약 pos > size ( ) 인 경우.
어떤 이유로든 예외가 발생하면, 이 함수는 아무런 효과를 가지지 않습니다( strong exception safety guarantee ).
복잡도
count 에 대해 선형적입니다.
예제
#include <iostream> #include <string> int main() { std::string foo("WINE"); // 중괄호 초기화는 모든 문자를 0으로 초기화하여 // 널 종결자를 제공합니다 char bar[4]{}; // 널 종결을 보장하기 위해 마지막 문자는 복사하지 않습니다 foo.copy(bar, sizeof bar - 1); std::cout << bar << '\n'; // bar가 널 종결되어야 합니다 }
출력:
WIN
결함 보고서
다음의 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.
| DR | 적용 대상 | 게시된 동작 | 올바른 동작 |
|---|---|---|---|
| LWG 847 | C++98 | 예외 안전성 보장이 없었음 | 강력한 예외 안전성 보장이 추가됨 |
참고 항목
|
부분 문자열을 반환합니다
(public member function) |
|
|
문자를 복사합니다
(
std::basic_string_view<CharT,Traits>
의 public member function)
|
|
|
(C++11)
|
요소 범위를 새로운 위치로 복사합니다
(function template) |
|
한 버퍼를 다른 버퍼로 복사합니다
(function) |