参见英文答案 >
How do you reverse a string in place in C or C++?26
我试图弄清楚当我以二进制数字读取字符串时如何反转字符串temp
我试图弄清楚当我以二进制数字读取字符串时如何反转字符串temp
istream& operator >>(istream& dat1d,binary& b1) { string temp; dat1d >> temp; }
解决方法
我不知道包含二进制数的字符串的含义.但是,为了反转字符串(或任何与STL兼容的容器),您可以使用std :: reverse(). std :: reverse()运行到位,所以你可能想要首先创建一个字符串的副本:
#include <algorithm> #include <iostream> #include <string> int main() { std::string foo("foo"); std::string copy(foo); std::cout << foo << '\n' << copy << '\n'; std::reverse(copy.begin(),copy.end()); std::cout << foo << '\n' << copy << '\n'; }