string的reverse方法c++
时间: 2023-08-18 16:13:52 浏览: 147
在C++中,没有内置的字符串反转方法,但你可以通过使用指针和循环来实现自定义的字符串反转函数。下面是一个示例:
```cpp
#include <iostream>
#include <cstring>
void reverseString(char* str) {
int length = strlen(str);
char* start = str;
char* end = str + length - 1;
while (start < end) {
char temp = *start;
*start = *end;
*end = temp;
start++;
end--;
}
}
int main() {
char str[] = "Hello, World!";
std::cout << "Original string: " << str << std::endl;
reverseString(str);
std::cout << "Reversed string: " << str << std::endl;
return 0;
}
```
此示例中,使用指针 `start` 和 `end` 分别指向字符串的开头和结尾,然后通过交换它们所指向的字符来反转字符串。最后,输出反转后的字符串。注意,此示例仅适用于以null字符结尾的C字符串。
相关问题
string的reverse函数c++
在C++中,没有内置的`reverse`函数可以直接对字符串进行反转。但是你可以通过迭代或者标准库中的算法来实现这个功能。这里是一个简单的例子,使用标准模板库(STL)中的`std::reverse`函数:
```cpp
#include <algorithm>
#include <string>
void reverseString(std::string& str) {
std::reverse(str.begin(), str.end());
}
// 示例用法
int main() {
std::string myStr = "Hello, World!";
reverseString(myStr);
std::cout << "Reversed String: " << myStr << std::endl; // 输出: "!dlroW ,olleH"
return 0;
}
```
在这个例子中,`std::reverse`函数接受两个迭代器作为参数,分别表示字符串的开始和结束位置,然后会将这两个位置之间的字符顺序翻转。
c++ string reverse
C++ 中字符串的反转可以使用 STL 库中的 reverse 函数:
```
#include <algorithm>
#include <string>
std::string str = "Hello, World!";
std::reverse(str.begin(), str.end());
```
也可以手动循环交换字符串的首尾字符:
```
#include <string>
std::string str = "Hello, World!";
int length = str.length();
for (int i = 0; i < length / 2; i++) {
std::swap(str[i], str[length - i - 1]);
}
```
阅读全文