본문 바로가기

Programming/VC++

[C] strncpy()

출처 블로그 > Programming Tipping since Mar 2005
원본 http://blog.naver.com/cache798/120010982601
#include <string.h>
char *strncpy(char *dest, const char *src, size_t n);

src 가 가르키는 문자열을 dest 가 가르키는 배열에 복사한다. src 에서 복사될때 '\0' 까지 복사됨으로 문자열이 겹쳐지지는 않는다. 이때 dest 는 src 를 모두 복사 받을수 있을정도로 충분히 커야 한다.


strncpy()는 n을 이용해서 복사할 문자열의 크기를 정할 수 있으므로 버퍼 오버 플로우에 좀더 안전하다. 만약 src의 길이가 n 보다 작다면 dest의 남는 공간은null 로 채워진다.


반환값:

목적지 문자열 dest 에 대한 포인터를 반환한다.


예제:

#include <string.h>

int main()
{
    char buf[25];

    strcpy(buf, "hello world");
    printf("%s\n", buf);
    strncpy(buf, "hello world", 5);
    printf("%s\n", buf);
}

'Programming > VC++' 카테고리의 다른 글

[C] 고수준 파일 입출력 함수 정리  (0) 2007.08.01
[C] 시스템 호출 함수 정리  (0) 2007.08.01
[C] trim()  (0) 2007.08.01
[C] memcpy()  (0) 2007.08.01
[C] strstr()  (0) 2007.08.01