Namespaces
Variants

std:: strncpy

From cppreference.net
헤더 파일에 정의됨 <cstring>
char * strncpy ( char * dest, const char * src, std:: size_t count ) ;

최대 count 개의 문자를 src 가 가리키는 바이트 문자열에서 (종료 널 문자를 포함하여) dest 가 가리키는 문자 배열로 복사합니다.

만약 count 에 도달했을 때 전체 문자열 src 가 복사되지 않은 경우, 결과 문자 배열은 null로 종료되지 않습니다.

만약 종료 널 문자를 src 에서 복사한 후에 count 에 도달하지 않았다면, 추가적인 널 문자들이 dest 에 총 count 개의 문자가 기록될 때까지 계속 기록됩니다.

문자열이 겹치는 경우, 동작은 정의되지 않습니다.

목차

매개변수

dest - 복사 대상 문자 배열에 대한 포인터
src - 복사할 바이트 문자열에 대한 포인터
count - 복사할 최대 문자 수

반환값

dest

예제

#include <cstring>
#include <iostream>
int main()
{
    const char* src = "hi";
    char dest[6] = {'a', 'b', 'c', 'd', 'e', 'f'};
    std::strncpy(dest, src, 5);
    std::cout << "The contents of dest are: ";
    for (char c : dest)
    {
        if (c)
            std::cout << c << ' ';
        else
            std::cout << "\\0" << ' ';
    }
    std::cout << '\n';
}

출력:

The contents of dest are: h i \0 \0 \0 f

참고 항목

한 문자열을 다른 문자열로 복사
(함수)
한 버퍼를 다른 버퍼로 복사
(함수)
C documentation for strncpy