编写c++程序,将字符串中的前导@符全部转移到字符串的尾部
时间: 2024-10-20 07:14:13 浏览: 16
c++ 实现删除字符串前后指定字符 跨平台运行
在C++中,你可以编写一个函数来实现这个功能,通过遍历输入的字符串并检查每个字符是否为 '@' 符,如果是,则将其添加到新的字符串中,直到遇到非 '@' 字符,然后将剩余的字符串连接到新字符串的末尾。下面是一个简单的示例:
```cpp
#include <iostream>
#include <string>
std::string moveAtSignToTail(const std::string& input) {
std::string result;
for (char c : input) {
if (c != '@') {
result += c; // 添加非 '@' 的字符
} else {
result += c; // 如果是 '@',直接添加
}
}
return result + input.substr(input.find('@')); // 将剩下的部分添加到尾部
}
int main() {
std::string str = "hello@@world";
std::cout << "Original string: " << str << std::endl;
std::string modified_str = moveAtSignToTail(str);
std::cout << "Modified string: " << modified_str << std::endl;
return 0;
}
```
在这个例子中,`moveAtSignToTail` 函数会处理原始字符串并将所有非 '@' 字符移到新字符串 `result` 中,最后再把原始字符串从 '@' 开始的部分追加到结果的末尾。
阅读全文