C ++でinbulit関数を使用して文字列(文字配列ではない)を逆にする方法。そして、元のコピーと逆のコピーを保存して、それらを比較して同等かどうかを確認する必要があります。これを行う方法を教えてください
34480 次
5 に答える
6
#include <algorithm>
std::string str1("original");
std::string str2(str1);
std::reverse(str2.begin(), str2.end());
if(str1 == str2)...
元の文字列のコピーを取得し、 std::reverse を使用してコピーを反転します。次に、2つの比較を行うことができます。
于 2015-02-05T13:49:56.940 に答える
0
std::reverse
その場で動作するため、元の文字列と反転した文字列の両方を保持したい場合は、最初にコピーを作成してから反転する必要があります。
std::string original("foo");
std::string copy(original);
std::reverse(copy.begin(), copy.end());
于 2015-02-05T13:49:04.123 に答える
0
reverse()
の関数を簡単に使用できます<algorithm>
。
std::string same("Hello world");
std::string reversed(same);
std::reverse(reversed.begin(),reversed.end());
//To compare them for equality..
if (same == reversed) {
...
}
于 2015-02-05T13:49:48.073 に答える
0
文字列のコピーを作成し、アルゴリズム ヘッダーから逆関数を使用します。
std::string original;
// put data in the string
std::string reversed(original);
std::reverse(reversed.begin(), reverse.end());
于 2015-02-05T13:48:43.413 に答える