c++字符串去掉首尾空格
时间: 2024-09-18 19:12:44 浏览: 68
在 C++ 中,你可以使用 `std::string` 类型提供的 `erase()` 和 `find()` 函数来去除字符串首尾的空格。这里是一个简单的示例:
```cpp
#include <iostream>
#include <string>
std::string removeSpacesAt Ends(const std::string& str) {
// 查找第一个非空字符的位置,如果没有则返回字符串长度
size_t start = str.find_first_not_of(" ");
// 查找最后一个非空字符的位置,如果没有则返回0
size_t end = str.rfind_last_not_of(" ");
// 如果找不到非空字符,则字符串全为空格
if (start == std::string::npos || end == std::string::npos)
return "";
// 使用截取操作符将首尾空格去掉,并返回新的字符串
return str.substr(start, end - start + 1); // +1是因为要包含结束位置的字符
}
int main() {
std::string str = " Hello, World! ";
str = removeSpacesAt Ends(str);
std::cout << "Original: " << str << std::endl; // 输出 "Hello, World!"
return 0;
}
```
阅读全文