str
If this argument is NULL, the user name is stored internally. If
the argument is not NULL, it points to a storage area of length
L_cuserid (defined by the <stdio.h> header file), and the name is
written into that storage. If the user name is a null string, the
function returns NULL.