function appends the src string to the
dest string, overwriting the null byte (aq\0aq) 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