如何在C++中实现字符串符号(如正负号)的反转操作?
时间: 2024-11-06 19:36:34 浏览: 16
实例29_字符串操作_反转字符串.rar_C/C++_
在C++中,你可以通过迭代或使用内置函数`std::reverse()`来实现字符串符号(如正负号)的反转。这里是一个简单的例子,假设我们有一个包含字符数组的字符串:
```cpp
#include <iostream>
#include <string>
// 函数用于反转字符串中的符号部分
void reverseSign(const std::string& str) {
int start = 0, end = str.length() - 1;
while (start < end && (str[start] != '+' && str[start] != '-') && (str[end] != '+' && str[end] != '-')) {
start++;
end--;
}
// 如果找到了符号,反转它们之间的字符
if (start < end) {
std::string reversedSubStr = str.substr(start, end - start + 1);
std::reverse(reversedSubStr.begin(), reversedSubStr.end());
str.replace(start, reversedSubStr.length(), reversedSubStr);
}
}
int main() {
std::string str = "+Hello, -World!";
std::cout << "Original string: " << str << std::endl;
reverseSign(str);
std::cout << "Reversed sign string: " << str << std::endl;
return 0;
}
```
在这个例子中,`reverseSign`函数首先找到第一个非空格的符号,然后反转该符号及其后的字符。如果字符串只包含一个正负号,那么整个符号都会被反转。
阅读全文