strcpy,strncpy,strlcpy

C++에서 문자열 다울때 많이 쓰는 함수인데,
혼동스러워서 정리해 본다.

#include <string.h>
char *strcpy(char *restrict s1, const char *restrict s2);
문자열 복사, s2가 클시에는 Overflow 발생(시스템상 묵인가능)

char *strncpy(char *restrict s1, const  char  *restrict  s2, size_t n);
문자열 n개 만큼 복사, 마지막에 NULL문자 필요.

char src[] = “123456789”;
char dest[6];
char*res;

res = strncpy(dest, src, sizeof(dest)-1);
dest[sizeof(dest)] = ‘\0’;
res:  10
dest: 12345

size_t strlcpy(char *dst, const char *src, size_t n);
문자열 n-1개 만큼 복사, n번째는 마지막에 자동적 NULL을 채워줌.

Leave a Reply

Your email address will not be published. Required fields are marked *