fgets remove newline
To remove the newline character from a string obtained using fgets()
in C, you can follow these steps:
Determine the length of the string using the
strlen()
function from thestring.h
header. Note thatstrlen()
does not count the terminating null character (\0
). Here's an example:c size_t sl = strlen(NAME);
Check if the string is empty (i.e., it begins with or only includes one null character
\0
). If the length is 0, skip the newline replacement process. Here's an example:c if (sl == 0) { // Skip the newline replacement process. }
Check if the last character of the string is a newline character
\n
. If it is, replace it with a null character\0
. Note that array indices start at 0, so you need to accessNAME[sl - 1]
. Here's an example:c if (NAME[sl - 1] == '\n') { NAME[sl - 1] = '\0'; }
You can combine steps 2 and 3 into a single step by checking if the length is greater than 0 and the last character is a newline character. Here's an example:
if (sl > 0 && NAME[sl - 1] == '\n') {
NAME[sl - 1] = '\0';
}
These steps will remove the newline character from the string obtained using fgets()
in C.