c++将string倒序
时间: 2023-07-23 11:08:08 浏览: 63
要将C++中的`std::string`倒序,可以使用`std::reverse`算法和迭代器。以下是一个示例代码:
```cpp
#include <iostream>
#include <algorithm>
#include <string>
int main() {
std::string str = "Hello, World!";
// 使用 std::reverse 算法倒序字符串
std::reverse(str.begin(), str.end());
std::cout << "Reversed string: " << str << std::endl;
return 0;
}
```
在这个示例中,我们定义了一个字符串`str`,然后使用`std::reverse`算法将字符串倒序。`std::reverse`函数需要两个迭代器作为参数,表示要倒序的范围。在这里,我们使用`str.begin()`和`str.end()`作为迭代器,表示整个字符串范围。
最后,我们打印出倒序后的字符串。
输出结果将是:
```
Reversed string: !dlroW ,olleH
```
通过使用`std::reverse`算法,我们可以方便地将C++中的`std::string`倒序。请注意,这会直接修改原始字符串。如果你不想修改原始字符串,可以先将其复制到一个新的字符串中再进行倒序操作。
相关问题
c++ string类倒序输出字符串
可以使用C++ STL中的reverse函数来倒序输出字符串。例如:
```c++
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int main() {
string str = "hello world";
reverse(str.begin(), str.end());
cout << str << endl;
return 0;
}
```
输出结果为: "dlrow olleh"。
string倒序
可以使用循环和指针来实现字符串的倒序输出。具体的实现方式如下所示:
```c++
#include <iostream>
#include <cstring>
using namespace std;
void reverse_string(char* str) {
int len = strlen(str);
char* p = str; // p指向字符串开头
char* q = str+len-1; // q指向字符串结尾
while (p < q) {
char temp = *p;
*p = *q;
*q = temp;
++p;
--q;
}
}
int main() {
char str[] = "hello world";
reverse_string(str);
cout << str << endl; // 输出结果:dlrow olleh
return 0;
}
```
在上述代码中,我们定义了一个`reverse_string`函数来实现字符串的倒序输出。该函数使用指针`p`和`q`分别指向字符串的开头和结尾。然后使用循环来交换`p`和`q`所指向的字符,直到两个指针相遇为止。最后输出倒序后的字符串即可。