#include <iostream>
#include <string.h>
using namespace std;
////////////////////////////////////////////////////////////////////////////////
///
/// 函数名 const string StringReverseByWord( const string srcString )
/// 功 能 以单词为单位,将字符串倒序;单词间以空格作为分隔符
/// 参 数 const string srcString 需要进行倒序处理的字符串
/// 程序保持实参值不变
/// 所得结果以返回值形式返回
/// 返回值 const string 进行倒序处理所得的结果
///
////////////////////////////////////////////////////////////////////////////////
const string StringReverseByWord( const string srcString )
{
string result;
int pointer = srcString.length() - 1;
int wordBegin , wordEnd , wordLength;
while( pointer >= 0 )
{
while( srcString[ pointer ] == ' ' && pointer >= 0 )
{
result += " ";
pointer--;
}
wordEnd = pointer;
while( srcString[ pointer ] != ' ' && pointer >= 0 )
pointer--;
wordBegin = pointer + 1;
wordLength = wordEnd - wordBegin + 1;
result += srcString.substr( wordBegin , wordLength );
}
return result;
}
int main()
{
cout<< StringReverseByWord( " i am a student " ).c_str() <<"."<<endl;
return 0;
}
本文介绍了一个C++函数,该函数能够接收一个字符串参数,并以单词为单位将其逆序,同时保持单词间的空格不变。通过遍历源字符串并逐个单词地构建结果字符串来实现这一功能。
1020

被折叠的 条评论
为什么被折叠?



