Monday, April 3, 2017

Replace all spaces in a string with "%20".Assume the string is big enough to accomodate extra characters

#include <iostream>
#include <string.h>

using namespace std;

void replace_str(char * str) {

    int count = 0;
    int len = strlen(str);

    for (int i = 0 ; i < strlen(str) ; i++) {
        if(str[i] == ' ') {
            count++;
        }
    }

    int newlen = count*2 + len;

    while(len >= 0) {

        if(str[len] != ' ') {
            str[newlen] = str[len];
            newlen--;
            len--;
        } else {
            str[newlen]='0';
            str[newlen - 1]='2';
            str[newlen - 2]='%';
            newlen -= 3;
            len--;
        }
    }

    cout<<"\n The new string is : "<<str<<endl;
}

int main()
{
    char str[100] = "This is a string";

    replace_str(str);

    return 0;
}

No comments: