C program to remove spaces, blanks from a string

Write a C program to remove extra spaces, blanks from a string. How to remove extra blank spaces, blanks from a given string using functions in C programming. Logic to remove extra white space characters from a string in C.



Input string: Learn     C      programming at  Codeforwin.


String after removing extra blanks: 
"Learn C programming at Codeforwin"

Required knowledge

Basic C programming, Loop, String, Function

Must know - Program to copy one string to another

Logic to remove extra spaces, blanks

  1. Input string from user, store it in some variable say str.
  2. Declare another string newString with same size as of str, to store string without blanks.
  3. For each character in str copy to newString. If current character in str is white space. Then copy single white space to newString and rest white spaces in str.

Program to remove extra spaces from string

 * C program to remove extra blank spaces from a given string

#include <stdio.h>
#include <stdlib.h>

#define MAX_SIZE 100 // Maximum string size

/* Function declaration */
char * removeBlanks(const char * str);

int main()
    char str[MAX_SIZE];
    char * newString;

    printf("Enter any string: ");

    printf("\nString before removing blanks: \n'%s'", str);

    newString = removeBlanks(str);

    printf("\n\nString after removing blanks: \n'%s'", newString);

    return 0;

 * Removes extra blank spaces from the given string
 * and returns a new string with single blank spaces
char * removeBlanks(const char * str)
    int i, j;
    char * newString;

    newString = (char *)malloc(MAX_SIZE);

    i = 0;
    j = 0;

    while(str[i] != '\0')
        /* If blank space is found */
        if(str[i] == ' ')
            newString[j] = ' ';

            /* Skip all consecutive spaces */
            while(str[i] == ' ')

        newString[j] = str[i];

    // NULL terminate the new string
    newString[j] = '\0';

    return newString;


Enter any string: Learn     C      programming at  Codeforwin.

String before removing blanks: 
'Learn     C      programming at  Codeforwin.'

String after removing blanks: 
'Learn C programming at Codeforwin.'

Happy coding 😉

About Pankaj

Pankaj Prakash is the founder, editor and blogger at Codeforwin. He loves to learn new techs and write programming articles especially for beginners. He works at Vasudhaika Software Sols. as a Software Design Engineer and manages Codeforwin. In short Pankaj is Web developer, Blogger, Learner, Tech and Music lover.

Follow on: Twitter | Google | or

Comments and discussion
Have a doubt, write here. I will help my best.
Before commenting you must escape your source code before commenting. Paste your source code inside
<pre><code> ----Your Source Code---- </code></pre>