char *strncpy(char *dst, const char *src, size_t n);

뭐.. 특별히 위험한 점은 없으나, 세번째 인자보다 작은 문자열이 들어왔을 때,
그 차이만큼 '\0'로 계속 쓰게 되므로, 효율성에서 좋은 함수가 아닙니다.
게다가 n보다 크거나 같은 길이의 SRC가 들어올 경우, '\0'로 끝내주지 않으므로
일일히 검사하기도 번거롭습니다. 따라서 다음과 같이 만들어 두고 쓰는 것이 좋습니다:

char *
xstrncpy(char *dst, const char *src, size_t n)
{
  dst[0] = '\0';
  return strncat(dst, src, n - 1);
}

+ Recent posts