C++中对字符串如何使用reverse函数

已经知道对string可以用reverse(s.begin()+1,s.end()-1);表示从第二个到倒数第二个元素的反转现在想知道,给定一个字符串类型数组,如char... 已经知道对string可以用
reverse(s.begin()+1, s.end()-1);
表示从第二个到倒数第二个元素的反转
现在想知道,给定一个字符串类型数组,如char str[]="abcdefgh";
想使用reverse函数,把从c到g的元素反转,变成str[]="abgfedch";应该如何写这个代码呢?
由于string比较消耗时间,谢绝string ss=str;然后对ss进行reverse的方法。
展开
 我来答
White_MouseYBZ
推荐于2017-09-07 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6721万
展开全部
//#include "stdafx.h"//vc++6.0加上这一行.
#include <algorithm>
#include <iostream>
#include <string>
using namespace std;
int main(void){
    char str[]="abcdefgh";
    string s=str;
    reverse(s.begin()+2,s.begin()+7);//和下面一句效果一样
    //reverse(s.begin()+2,s.end()-1);
    cout << s << endl;
    return 0;
}
追问
要对字符串数组操作的 不要对string的操作
追答
int main(void){
    char str[]="abcdefgh";
    reverse(str+2,str+7);
    cout << str << endl;
    return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式