strcpy

명칭
     strcpy, strncpy — 캐릭터 라인의 카피

프로그램 라이브러리
     Standard C Library (libc, -lc)

서식
     <string.h> char * strcpy(char *dst, const char *src) char * strncpy(char
     *dst, const char *src, size_t len)

해설
     strcpy() 함수는, 캐릭터 라인 src (을)를 dst 에 카피합니다 (종단의 ‘\0’ 캐릭터를 포함해).

     strncpy() 함수는, len 개이상의 캐릭터는 dst 에 카피하지 않고, src 의 길이가 len 캐릭터 이하의 경우에는 ‘\0’
     캐릭터를 추가합니다. 또, src 의 길이가 len 캐릭터 이상인 경우는, dst 를 종료시키지 않습니다.

반환값
     strcpy() 및 strncpy() 함수는, dst (을)를 돌려줍니다.


     다음의 행은, chararray (을)를 “abc\0\0\0” (으)로 설정합니다 :

           char chararray[6];

           (void) strncpy(chararray, "abc", sizeof(chararray));

     다음의 행은, chararray (을)를 “abcdef” (으)로 설정합니다 :

           char chararray[6];

           (void) strncpy(chararray, "abcdefgh", sizeof(chararray));

     파라미터의 길이가, 소스의 길이와 같은가 그 이상이기 (위해)때문에 chararray 하 NUL 로 종료하지 않는다 일로 주의해
     주세요.

     다음의 행은, input (으)로부터 buf 에 캐릭터를 적절히 카피해, 그 결과를 NUL 그리고 종료시킵니다.  strncpy() 의
     캐릭터 라인 자체가 NUL 그리고 종료하는 것을 프로텍션하지 않기 때문에로, 이것은 명확하게 하지 않으면 안됩니다.

           char buf[1024];

           (void) strncpy(buf, input, sizeof(buf) - 1);
           buf[sizeof(buf) - 1] = '\0';

     다음의 예의 같게 strlcpy(3) (을)를 사용하면(자), 보다 좋게 실행할 수 있을지도 모릅니다.

           (void) strlcpy(buf, input, sizeof(buf));

     strlcpy(3) (은)는 표준적으로는 정의되어 있지 않기 때문에, 이식에 무관계한 때 만 이용하도록 주의해 주세요.

참조
     bcopy(3), memccpy(3), memcpy(3), memmove(3), strlcpy(3)

표준
     strcpy() 및 strncpy() 함수는, ISO/IEC 9899:1990 (“ISO C90”) 에 적합하고 있습니다.