c++删除字符串两端的空格
时间: 2024-10-08 12:04:09 浏览: 29
字符串去掉空格
在C++中,你可以使用`std::string`类的`erase()`函数和`find()`方法来删除字符串两端的空格。下面是一个简单的示例:
```cpp
#include <iostream>
#include <string>
std::string removeSpacesAtEnd(const std::string& str) {
// 查找从右侧开始的第一个非空字符的位置
size_t pos = str.find_last_not_of(' ');
// 如果找到非空字符,则返回到该位置结束的子串
if (pos != std::string::npos) {
str.erase(pos + 1); // erase()会自动移除最后一个字符(即空格)
}
// 查找从左侧开始的第一个非空字符的位置
pos = str.find_first_not_of(' ');
// 如果找到非空字符,则将该位置之前的部分截断
if (pos != 0) {
str.erase(0, pos);
}
return str;
}
int main() {
std::string str = " Hello, World! ";
std::cout << "Original string: " << str << "\n";
str = removeSpacesAtEnd(str);
std::cout << "String with spaces removed: " << str << "\n";
return 0;
}
```
在这个例子中,`removeSpacesAtEnd`函数首先查找右侧的第一个非空字符,然后删除它之后的所有空格;接着查找左侧的第一个非空字符,并删除其左边的所有空格。
阅读全文