Copy a c-string into a sized buffer
size_t strlcpy(char * dest, const char * src, size_t size);
dest
Where to copy the string to
src
Where to copy the string from
size
size of destination buffer
the result is always a valid NUL-terminated string that fits in the buffer (unless, of course, the buffer size is zero). It does not pad out the result like strncpy does.