function appends the src string to the
dest string, overwriting the null byte ('\0') at the end of
dest, and then adds a terminating null byte.
The strings may not overlap, and the dest string must have
enough space for the result.
function is similar, except that
it will use at most n characters from src; and
src does not need to be null-terminated if it contains
n or more characters.
the resulting string in dest is always null-terminated.
If src contains n or more characters,
writes n+1 characters to dest (n
from src plus the terminating null byte).
Therefore, the size of dest must be at least