如何使用strrev来反转字符串?

时间:2015-12-19 06:23:30

标签: string

我想要反转字符串数组结果,但是当我在在线编译器中运行此代码时,它说" strrev未被声明"。我不明白这一点。

if (something) {
    $scope.customClass = 'active custom-class1';
} else {
    $scope.customClass = 'deactive custom-class2';
}

1 个答案:

答案 0 :(得分:0)

strrev来自哪里?它不属于标准库。您必须包含定义它的头文件,并包含它。

您正在使用C ++(cout),因此不要使用char数组和strlen,而是使用std :: string。 (您的文件顶部需要#include <string>

    for(int j=0;j<test;j++)  // Life is easier if you get in the habit of writing loops like this
    {
        std::string input;  // Don't declare variables until you need them.
        std::cin >> input;
        // Initialize 'result' as the reverse of input directly.
        const std::string result(input.crbegin(), input.crend());
        const char* const answer = (input == result) ? "Yes" : "No";
        std::cout << "Case " << (j+1) << ": " answer << std::endl;  // Offset test case for output.
    }   

您会注意到我的代码比您的代码短 - 我让图书馆几乎完成所有繁重的工作。我也避免using namespace std。从长远来看,如果你把它留下来,它会让你的代码更清晰。

我也很想写一个函数fromCin,它返回字符串。然后我会编写const std::string input = fromCin();,它有可爱的结果,循环中的所有变量都是常量。