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 ( ) and ending when it finds the first non space character. When the program finds a non space character, it sets the next character in the string to the terminating null character ( ), thereby effectively eliminating all the trailing blanks. Here is how this task is performed: #include <stdio.h> #include <string.h> 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 ( ). */ while (n>0) /* Make sure we don't go out of bounds... */ { if (*(str+n) != ' ') /* If we find a nonspace character: */ { *(str+n+1) = ' '; /* 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.
C
Topic: Strings
How can I remove the trailing spaces from a string?
Browse random answers:
How to compare two strings in c ?
What is the difference between System.String and System.StringBuilder classes?
How would you implement a sbstr()function that extract a sub string from a givn string?
How can i print a?%? character in a print format string?
Explain one method to process an entire string as one unit?
Can we use string in switch statement?
What is the difference between strings and character arrays ?
How do you print only part of a string?
How to type a string without using printf function?
How can I convert a number to a string?
How can I convert a string to a number?
What is the difference between a string copy (strcpy) and a memory copy (memcpy)? When should each be used?
What is the difference between a string and an array?
How to get string in files and print the string in the reverse order?
If the two strings are identical, then strcmp() function returns?
What is the difference between the functions strdup and strcpy in C?
What do you mean by String objects are immutable?
How do you create empty strings in C?
Write a scanf statement which can store one line of string which includes white space?
What will be output when you will execute following c code? #include<stdio.h> void main(){ char arr[7]="Network"; printf("%s",arr); }
Which of the following function sets first n characters of a string to a given character?
What will be the output of the program ? #include<stdio.h>#include<string.h> int main(){ char str1[20] = "Hello", str2[20] = " World"; printf("%sn", strcpy(str2, strcat(str1, str2))); return 0; }
Without using any semicolon (;) in program write a c program which output is: HELLO WORLD?
How can I remove the trailing spaces from a string?
How can I right-justify a string?
How can you tell whether two strings are the same?
How do you print only part of a string?
Is there a way to switch on strings?
How would you use the functions fseek(), freed(), fwrite() and ftell()?
Difference between strdup and strcpy?
What are strings and how can they be represented in c language?
How can you tell whether two strings are the same?
Difference between strdup and strcpy?
How do I use c-strings to write a c program that Removes multiple spaces between words in a paragraph?
What the advantages of using Unions?
String Processing --- Write out a function that prints out all the permutations of a string. For example, abc would give you abc, acb, bac, bca, cab, cba.?
Can we convert an unsigned long integer value to a string?
What about strpbrk( )?
What about ceil( ) and floor( )?
Why is it not possible to scan strings from keyboard in case of array of pointers to string?