参见英文答案 >
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;
- }
解决方法
@H_403_8@ 我不知道包含二进制数的字符串的含义.但是,为了反转字符串(或任何与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';
- }