Reversing a string word by word in C++, C
There may be other way to doing that but I used the simple approach to do the same.
It is a two step process :
Step 1: Reverse the whole string.
Step 2: Reverse the words in the string.
Here is the code :
If you have any suggestions please leave a comment below
It is a two step process :
Step 1: Reverse the whole string.
Step 2: Reverse the words in the string.
Here is the code :
#include <iostream>
#include <conio.h>
#include <string>
using namespace std;
void reverse_string(char *str, char *end)
{
for (char c; --end - str > 0; ++str)
{
c = *str;
*str = *end;
*end = c;
}
}
void reverse_indiviualWords(char *str)
{
char *end = str + strlen(str);
reverse_string(str, end);
while (end - str > 0)
{
char *token = str;
while (*token != ' ' && *token)
{
++token;
}
reverse_string(str, token);
++token; //For skipping spaces
str = token;
}
}
void main()
{
char str[] = "How to reverse a string";
cout << "Before :" << str << endl;
reverse_indiviualWords(str);
cout << "After :" << str << endl;
_getch();
}
Thanks for visiting.If you have any suggestions please leave a comment below
Comments
Post a Comment