strndup
|
헤더 파일에 정의됨
<string.h>
|
||
|
char
*
strndup
(
const
char
*
str,
size_t
size
)
;
|
(동적 메모리 TR) | |
최대
size
바이트까지
str
이 가리키는 문자열로부터 복사된 내용을 포함하는 널 종료 바이트 문자열에 대한 포인터를 반환합니다. 첫
size
바이트 내에서 널 종결자를 발견하지 못할 경우, 복제된 문자열에 널 종결자가 추가됩니다.
반환된 포인터는 메모리 누수를 피하기 위해 free 에 전달되어야 합니다.
오류가 발생하면 널 포인터가 반환되고 errno 가 설정될 수 있습니다.
Dynamic Memory TR의 모든 함수들과 마찬가지로,
strndup
함수는 구현체가
__STDC_ALLOC_LIB__
를 정의하고, 사용자가
__STDC_WANT_LIB_EXT2__
를 정수 상수
1
으로 정의한 후
string.h
를 포함할 경우에만 사용 가능함이 보장됩니다.
목차 |
매개변수
| str | - | 복제할 null 종료 바이트 문자열에 대한 포인터 |
| size | - |
str
에서 복사할 최대 바이트 수
|
반환값
새로 할당된 문자열에 대한 포인터, 또는 오류 발생 시 널 포인터.
참고 사항
이 함수는 POSIX strndup 과 동일하지만, 오류 발생 시 errno 를 설정할 수 있으나 필수는 아닙니다.
예제
출력:
strndup("String", 2) == St
참고 항목
|
(dynamic memory TR)
|
문자열의 복사본을 할당합니다
(함수) |
|
(C11)
|
한 문자열에서 다른 문자열로 특정량의 문자를 복사합니다
(함수) |
|
메모리를 할당합니다
(함수) |