如何在 C++ 中通过内置的 reverse() 函数存储反转的字符串

How to store reversed string by inbuilt reverse() function in c++

如何在 c++ 中使用内置函数 反转字符串(不是字符数组)。我还需要存储原始副本作为反转的,以便我可以比较它们 equality.please 让我知道如何做到这一点

复制字符串,然后使用算法 header 的反向函数。

std::string original;
// put data in  the string
std::string reversed(original);
std::reverse(reversed.begin(), reverse.end());

std::reverse就地操作,所以如果要同时保留原字符串和反转字符串,就必须先复制一份,然后再反转:

std::string original("foo");
std::string copy(original);
std::reverse(copy.begin(), copy.end());

您可以简单地使用 <algorithm> 中的 reverse() 函数。

std::string same("Hello world");
std::string reversed(same);
std::reverse(reversed.begin(),reversed.end());
//To compare them for equality..
if (same == reversed) {
...
}
#include <algorithm>

std::string str1("original");
std::string str2(str1);
std::reverse(str2.begin(), str2.end());

if(str1 == str2)...

复制原始字符串,然后使用std::reverse 反转副本。然后你可以对两者做一个比较。

您不需要单独保留副本,您可以按如下相反的顺序访问字符串:

string str = "Well Come";
for (unsigned i = str.size() - 1; i >= 0; i++)
    cout << str.at(i);