利用c++实现string类字符串单词的逆序输出,并改变源字符串的大小写。
#include<iostream>
#include<string>
#include<vector>
using namespace std;
string StringReverseWord(string &s)
{
int len = s.length();
if (len == 0)//空字符串
return s;
int j = 0;
while (s[j] == ' ')
{
j++;
}
if (j == len)//全部都是空格时
{
return "";
}
vector<string> svec;
int first, last;
string s1;
while (j != len)
{
first = j;
while (j != len && s[j] != ' ')
{
j++;
}
last = j - 1;
s1 = s.substr(first, last - first + 1);
svec.push_back(s1);
while (j != len && s[j] == ' ')
{
j++;
}
}
string s2 = "";
for (size_t k = svec.size() - 1; k != -1; --k)
{
s2 = s2 + " " + svec[k];
}
s = s2.substr(1, s2.length() - 1);//第一个是空格,所以跳过取后