Is this safe to do? Does fgets
terminate the buffer with null or should I be setting the 20th byte to null after the call to fgets
and before I call
Yes fgets()
always properly null-terminates the buffer. From the man page:
The fgets() function reads at most one less than the number of characters specified by n from the given stream and stores them in the string s. Reading stops when a newline character is found, at end-of-file or error. The newline, if any, is retained. If any characters are read and there is no error, a '
\0
' character is appended to end the string.