, .
:
strchr
if (fgets(sentence, 11, stdin) != NULL) {
p = strchr(sentence, '\n');
*p = '\0';
}
, p NULL. , , sentence \n, , , sentence , \n, . :
if (fgets(sentence, 11, stdin) != NULL) {
char *p = strchr(sentence, '\n');
if (p != NULL)
*p = '\0';
...
}
strchrnul
C strchrnul :
char *strchrnul(const char *s, int c);
c s \0, . \n:
if (fgets(sentence, 11, stdin) != NULL) {
*strchrnul(sentence, '\n') = '\0';
...
}
, C .
strtok
if (fgets(sentence, 11, stdin) != NULL) {
token = strtok(sentence, "\n");
...
}
: strtok . , strtok. , , . strtok: strtok_r, .
, user3121023, strtok \n, . . (strtok , .)
StrLen
strlen. :
if (fgets(sentence, 11, stdin) != NULL) {
sentence[strlen(sentence) - 1] = '\0';
...
}
:
sentence \n , strchr. \n .
sentence , undefined. sentence , C: , fgets() .
:
if (fgets(sentence, 11, stdin) != NULL) {
size_t len = strlen(sentence);
if (len > 0 && sentence[len - 1] == '\n')
sentence[--len] = '\0';
...
}
strcspn
if (fgets(sentence, 11, stdin) != NULL) {
sentence[strcspn(sentence, "\n")] = '\0';
...
}
. , sentence \n , . , .
strcspn , , C . , strtok, . , , strchr strlen, strlen 2 len > 0 sentence[len - 1] == '\n', .
, , 1- . , , strchr.
, strcspn C, GNU libc, Apple C. , gcc .
strchrnul .
, , , C... .