c++字符串反转函数
时间: 2023-12-16 22:02:49 浏览: 123
你可以使用下面的代码来实现C语言中的字符串反转函数:
```c
#include <stdio.h>
#include <string.h>
void reverseString(char *str) {
int i = 0;
int j = strlen(str) - 1;
char temp;
while (i < j) {
temp = str[i];
str[i] = str[j];
str[j] = temp;
i++;
j--;
}
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
reverseString(str);
printf("反转后的字符串:%s\n", str);
return 0;
}
```
这段代码定义了一个 `reverseString` 函数,它使用双指针法将字符串进行反转。在 `main` 函数中,我们输入一个字符串并调用 `reverseString` 函数进行反转,然后输出结果。请注意,这里假设输入的字符串长度不超过 100。
相关问题
C++中字符串反转函数
在C++中,可以使用以下方法实现字符串反转函数:
```cpp
#include <iostream>
#include <string>
std::string reverseString(const std::string& str) {
std::string reversedStr;
for (int i = str.length() - 1; i >= 0; i--) {
reversedStr += str[i];
}
return reversedStr;
}
int main() {
std::string str = "Hello, World!";
std::string reversedStr = reverseString(str);
std::cout << "Reversed String: " << reversedStr << std::endl;
return 0;
}
```
这个函数接受一个 `std::string` 类型的参数,并返回一个反转后的字符串。它使用一个循环从字符串的最后一个字符开始,逐个字符地将其添加到新的字符串中,以实现反转。在上面的示例中,我们将字符串 "Hello, World!" 反转并打印出来。输出将是 "dlroW ,olleH"。
字符串反转函数c++
在C++中,字符串反转是一个常见的操作,可以使用多种方法实现。以下是几种常见的方式:
1. **使用C风格数组**:
```cpp
#include <cstring>
void reverseString(char* str) {
int length = strlen(str);
for (int i = 0; i < length / 2; i++) {
std::swap(str[i], str[length - i - 1]);
}
}
```
这个函数通过遍历字符串的一半并交换对应的字符来进行反转。
2. **使用标准库算法**:
```cpp
#include <algorithm>
void reverseString(std::string& str) {
std::reverse(str.begin(), str.end());
}
```
这里利用了`std::reverse`内置的算法功能直接反转整个字符串。
3. **自定义迭代器反转**:
```cpp
#include <iostream>
struct ReverseIterator {
int pos;
std::string str;
ReverseIterator(const std::string& s) : str(s), pos(s.length()) {}
operator char() const { return str[pos--]; }
};
void reverseString(std::string& str) {
ReverseIterator rit(str);
while (rit != ReverseIterator("")) {
std::cout << rit++;
}
std::cout << '\n';
}
```
这是一种更有趣但不太常用的方法,通过创建一个反向迭代器来逐个取出字符反转。
阅读全文