c++ 如何取掉字符串前后的空格
时间: 2024-12-11 08:42:51 浏览: 6
在C++中,你可以使用`std::string`类的`trim()`函数或者手动遍历并移除首尾的空格。以下是两种常见方法:
1. 使用`std::trim()`函数:
```cpp
#include <algorithm>
#include <string>
std::string str = " Hello World! ";
str.erase(0, str.find_first_not_of(' ')); // 移除左边第一个非空格字符的位置
str.erase(str.find_last_not_of(' ') + 1); // 移除右边最后一个非空格字符后的位置
// 或者直接调用 std::trim()
str = std::string(" Hello World! ");
std::trim(str.begin(), str.end());
```
2. 手动遍历并移除:
```cpp
std::string str = " Hello World! ";
size_t start = str.find_first_not_of(' '); // 查找第一个非空格字符
size_t end = str.find_last_not_of(' '); // 查找最后一个非空格字符
if (start != std::string::npos && end != std::string::npos) {
str = str.substr(start, end - start + 1); // 保留有效部分,包括结尾的非空格
}
```
这两种方法都可以帮助你去掉字符串前后的空格。
阅读全文