在c ++中反转一个字符串

时间:2016-02-03 22:58:21

标签: c++ string reversing

我开始在coderbyte上做C ++挑战。第一个是:

  

使用C ++语言,使用FirstReverse(str)函数   str参数被传递并以相反的顺序返回字符串。

     

使用下面的框中的参数测试功能来测试您的代码   有不同的论点。

它为您提供以下开始代码,然后您可以编辑并添加以创建程序:

#include <iostream>
using namespace std;

string FirstReverse(string str) { 

  // code goes here   
  return str; 

}

int main() { 

  // keep this function call here
  cout << FirstReverse(gets(stdin));
  return 0;

} 

我想出了以下内容:

#include <iostream>
using namespace std;

string FirstReverse(string str) {
    cout<<"Enter some text: ";
    cin>>str;
    string reverseString;

    for(long i = str.size() - 1;i >= 0; --i){
        reverseString += str[i];
    }

    return reverseString;

}

int main() {

    // keep this function call here
    cout << FirstReverse(gets(stdin))<<endl;
    return 0;

}

它给了我以下错误:“没有匹配函数来调用” 现在,为什么会发生这种情况,我该怎么做才能解决它?感谢您阅读本文,所有帮助将不胜感激。

1 个答案:

答案 0 :(得分:3)

gets方法在cstdio标头中声明。

尝试#include <cstdio>#include <stdio.h>

修改1:使用std::string
我建议您使用std::stringstd::getline

std::string text;
std::getline(cin, text);
std::cout << FirstReverse(text) << endl;