c++ 将字符串倒转的函数时
时间: 2023-12-16 13:06:39 浏览: 34
以下是一个将字符串倒转的函数示例:
```
void reverseString(char *str) {
int len = strlen(str);
int i, j;
char temp;
for (i = 0, j = len - 1; i < j; i++, j--) {
temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
```
该函数将输入的字符串作为参数,然后使用双指针法将其倒转。具体来说,指针i从字符串头部开始,指针j从字符串尾部开始,每次循环交换i和j指向的字符,直到i>=j为止。最终得到的字符串即为倒转后的结果。
示例用法:
```
char str[100] = "Hello World!";
reverseString(str);
printf("%s\n", str); // 输出:!dlroW olleH
```
相关问题
c++中字符串cmp函数
C++中的字符串比较函数是strcmp,它可以比较两个字符串的大小。该函数的原型如下:
```c++
int strcmp(const char* str1, const char* str2);
```
其中,str1和str2是要比较的两个字符串,函数返回值为0表示两个字符串相等,返回值大于0表示str1大于str2,返回值小于0表示str1小于str2。
例如,以下代码比较了两个字符串s1和s2的大小:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char s1[] = "hello";
char s2[] = "world";
int result = strcmp(s1, s2);
if (result == 0)
cout << "s1 equals s2" << endl;
else if (result > 0)
cout << "s1 is greater than s2" << endl;
else
cout << "s1 is less than s2" << endl; return 0;
}
```
输出结果为:
```
s1 is less than s2
```
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"。