用string实现删除字符串两端的空格的c++代码
时间: 2024-10-08 10:04:31 浏览: 30
C++中带空格字符串的输入问题解决
在C++中,你可以使用`std::string`的`erase`函数配合`find`函数来删除字符串两端的空格。以下是一个简单的示例:
```cpp
#include <iostream>
#include <string>
// 函数定义,删除字符串两端的空格
std::string removeSpacesAtEnd(std::string str) {
// 查找左边的第一个非空字符的位置
size_t start = str.find_first_not_of(" ");
// 查找右边的第一个空格的位置,如果没有空格则str.size()作为结束索引
size_t end = str.rfind(" ") + 1;
if (end == str.size())
end = str.size(); // 如果末尾没有空格,则保持原样
// 仅保留有效部分并返回
return str.substr(start, end - start);
}
int main() {
std::string input = " Hello, World! ";
std::string result = removeSpacesAtEnd(input);
std::cout << "Original string: " << input << "\n";
std::cout << "String with spaces removed: " << result << "\n";
return 0;
}
```
阅读全文