cstring 字符串实现前四位与后两位得互换
时间: 2024-12-18 22:35:48 浏览: 9
在C++中,`cstring`通常指C风格字符串,它是一个字符数组,而不是像C++11之后的标准库提供的`std::string`那样支持高效的字符串操作。如果你有一个`char*`类型的C-style字符串,并想要交换其前四位和后两位,你需要手动遍历并交换相应的字符。
这是一个简单的示例:
```cpp
#include <iostream>
void swap_first_four_last_two(char str[]) {
if (str && strlen(str) >= 6) { // 确保字符串长度大于等于6
char temp = str[0]; // 保存第一位
for (int i = 1; i <= 4; ++i) {
str[i - 1] = str[i]; // 将第一位后的移到前面
}
str[5] = temp; // 把临时变量放回最后一位
temp = str[strlen(str) - 2]; // 保存倒数第二位
for (int i = strlen(str) - 2; i >= 6; --i) {
str[i + 1] = str[i]; // 将倒数第二位后的移到后面
}
str[strlen(str) - 1] = temp; // 把临时变量放回倒数第二位
} else {
std::cout << "Invalid string or too short!" << std::endl;
}
}
int main() {
char str[] = "abcdefg";
std::cout << "Original string: " << str << std::endl;
swap_first_four_last_two(str);
std::cout << "After swapping: " << str << std::endl;
return 0;
}
```
阅读全文