我试图扭转一个字符串我的C++代码行下面revStr.at(j)= str.at(size);C++反转字符串
不会更改revStr中的任何元素。
有没有另一种方法来做到这一点,而不使用任何库。
#include <iostream>
#include<sstream>
#include <iterator>
using namespace std;
int main() {
ostringstream d;
long long c = 123456789;
d << c;
//cout << c << endl;
string str = d.str();
//cout << str.at(0) << endl;
int size = str.size() - 1;
//cout << size << endl;
ostringstream e;
e << str;
string revStr = e.str();
for (int i = size; size==0; size--) {
//cout << str.at(size);
int j = 0;
revStr.at(j) = str.at(size);
j++;
} // End For
cout << "Original String is :" << str << endl;
cout << "Reversed String is :" << revStr << endl;
}
[反向字符串C++使用char数组]的可能的复制(https://stackoverflow.com/questions/24372480/reverse-string-c-using-char-array) –
你为什么要这么做没有任何图书馆?你意识到'ostringstream','string'和'cout'都在标准C++库中,所以不使用任何库会意味着你依赖于非标准的输出机制。使用标准库'std :: reverse(revStr.begin(),revStr.end())'可以在一条简单的线上满足要求。 – Peter