How can I remove the trailing spaces from a string? Ans. The C language does not provide a standard function that removes trailing spaces from a string. It is easy, however, to build your own function to do just this. The following program uses a custom function named rtrim() to remove the trailing spaces from a string. It carries out this action by iterating through the string backward, starting at the character before the terminating null character (\0) and ending when it finds the first nonspace character. When the program finds a nonspace character, it sets the next character in the string to the terminating null character (\0), thereby effectively eliminating all the trailing blanks. Here is how this task is performed: #include #include void main(void); char* rtrim(char*); void main(void) { char* trail_str = 'This string has trailing spaces in it. '; /* Show the status of the string before calling the rtrim() function. */ printf('Before calling rtrim(), trail_str is '%s'\n', trail_str); printf('and has a length of %d.\n', strlen(trail_str)); /* Call the rtrim() function to remove the trailing blanks. */ rtrim(trail_str); /* Show the status of the string after calling the rtrim() function. */ printf('After calling rtrim(), trail_str is '%s'\n', trail_str); printf('and has a length of %d.\n', strlen(trail_str)); } /* The rtrim() function removes trailing spaces from a string. */ char* rtrim(char* str) { int n = strlen(str) - 1; /* Start at the character BEFORE the null character (\0). */ while (n>0) /* Make sure we don't go out of bounds... */ { if (*(str n) != ' ') /* If we find a nonspace character: */ { *(str n 1) = '\0'; /* Put the null character at one character past our current position. */ break; /* Break out of the loop. */ } else /* Otherwise, keep moving backward in the string. */ n--; } return str; /* Return a pointer to the string. */ } Notice that the rtrim() function works because in C, strings are terminated by the null character. With the insertion of a null character after the last nonspace character, the string is considered terminated at that point, and all characters beyond the null character are ignored. - Study24x7
Social learning Network
28 Mar 2023 11:13 AM study24x7 study24x7

How can I remove the trailing spaces from a string? Ans. The C language does not provide a standard function that removes trailing spaces from a string. It is easy, however, to build your own function to do just this. The following program uses a custom function named rtrim() to...

See more

study24x7
Write a comment
Related Questions
500+   more Questions to answer
Most Related Articles