c++中如何去掉字符串中多余的空格
时间: 2024-05-15 19:12:09 浏览: 109
删除字符串中空格的3种方法
在C++中,可以使用以下方法去掉字符串中多余的空格:
1. 使用STL的algorithm库中的remove_if函数,结合lambda表达式去掉空格:
```
#include <algorithm>
#include <cctype>
#include <locale>
#include <string>
std::string removeExtraSpaces(std::string str) {
str.erase(std::remove_if(str.begin(), str.end(), [](unsigned char x){ return std::isspace(x); }), str.end());
return str;
}
```
2. 使用STL的istringstream和ostringstream来去掉空格:
```
#include <sstream>
#include <string>
std::string removeExtraSpaces(std::string str) {
std::istringstream iss(str);
std::ostringstream oss;
std::string s;
while (iss >> s) {
oss << s << " ";
}
return oss.str();
}
```
以上两种方法都可以去掉字符串中的多余空格,可以根据自己的需求选择使用。
阅读全文