输入字符串str1和数字n,将字符串前n个字符前后顺序反转储存在str2 中C++
时间: 2024-05-13 10:18:02 浏览: 153
以下是将字符串前n个字符前后顺序反转储存在str2中的C++代码:
```cpp
#include <iostream>
#include <cstring>
using namespace std;
void reverse(char* str, int n, char* str2) {
// 复制前n个字符到str2中
strncpy(str2, str, n);
// 将str2中的前n个字符反转
for (int i = 0, j = n - 1; i < j; i++, j--) {
char temp = str2[i];
str2[i] = str2[j];
str2[j] = temp;
}
// 将str中的剩余字符复制到str2中
strcpy(str2 + n, str + n);
}
int main() {
char str1[] = "Hello, world!";
int n = 5;
char str2[100];
reverse(str1, n, str2);
cout << str2 << endl; // 输出 "olleH, world!"
return 0;
}
```
在上面的代码中,我们先使用`strncpy()`函数将原字符串str1的前n个字符复制到新字符串str2中,然后使用一个简单的循环将str2中的前n个字符反转。最后,我们使用`strcpy()`函数将原字符串str1中剩余的字符复制到新字符串str2中。注意,这里我们需要预先定义str2的长度,以确保不会发生越界错误。
阅读全文
相关推荐















