Remove All and Extra Spaces from a String in C++

In this article, you will learn and get code to remove spaces from strings using a C++ program. Here is the list of programs that delete or remove spaces from strings entered by the user at run-time:

In both programs, a string must be entered by the user at run-time.

Remove all spaces from the string in C++

To remove or delete all spaces from a string or a sentence, you have to ask the user to enter the string. Then, if a space is found, shift all the characters one index back from where it was found, as shown in the program below:

The question is, "Write a program in C++ to remove all spaces from strings." Here is its answer:

#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
    char str[200];
    int i=0, j, chk;
    cout<<"Enter the String: ";
    gets(str);
    while(str[i]!='\0')
    {
        chk=0;
        if(str[i]==' ')
        {
            for(j=i; str[j-1]!='\0'; j++)
                str[j] = str[j+1];
            chk = 1;
        }
        if(chk==0)
            i++;
    }
    cout<<"\nString without Spaces: "<<str;
    cout<<endl;
    return 0;
}

This program was built and runs under the Code::Blocks IDE. Here is its sample run:

C++ program remove spaces from string

Now enter any string, such as codes cracker . com, and press the ENTER key to remove all spaces and print the same string without any spaces, as shown in the screenshot below:

remove spaces from string c++

The dry run of the above program with user input codes cracker . com goes like:

In C++, remove extra spaces from a string

This program removes only extra spaces from the given string. For example, if there are more than one spaces available between two words, then all extra spaces will be removed. Let's have a look at the program:

#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
int main()
{
    char str[200];
    int i, j, len;
    cout<<"Enter the String: ";
    gets(str);
    len = strlen(str);
    for(i=0; i<len; i++)
    {
        if(str[0]==' ')
        {
            for(i=0; i<(len-1); i++)
                str[i] = str[i+1];
            str[i] = '\0';
            len--;
            i=-1;
            continue;
        }
        if(str[i]==' ' && str[i+1]==' ')
        {
            for(j=i; j<(len-1); j++)
            {
                str[j] = str[j+1];
            }
            str[j] = '\0';
            len--;
            i--;
        }
    }
    cout<<"\nString without Extra Spaces: "<<str;
    cout<<endl;
    return 0;
}

Here is the initial output produced by this program:

remove extra spaces from string c++

Now supply any string that contains more than one space between two words, and press ENTER to remove extra spaces from the given string and print the new string as shown in the snapshot given below:

c++ remove extra spaces from string

The same program in different languages

C++ Quiz


« Previous Program Next Program »