c++去掉字符串首尾空格
时间: 2024-09-24 18:23:30 浏览: 49
在 C++ 中,你可以使用标准库提供的 `std::trim` 函数或者简单的循环来去除字符串首尾的空格。这里提供两种常见的方法:
1. 使用 `std::string` 的 `erase` 和 `find_first_not_of` 方法:
```cpp
#include <algorithm>
#include <cctype>
std::string trimString(std::string str) {
str.erase(0, str.find_first_not_of(' '));
str.erase(str.find_last_not_of(' ') + 1);
return str;
}
```
2. 使用 C 语言风格的迭代器和 `std::remove_if`:
```cpp
#include <iterator>
#include <algorithm>
std::string trimString(std::string str) {
str.erase(remove_if(str.begin(), str.end(), isspace), str.end());
return str;
}
// 注意你需要包含 `<cctype>` 包导入 isspace 函数
```
这两种方法都会返回一个新的字符串,原始字符串不会被修改。
相关问题
去掉字符串首尾空格C++指针
可以使用C++的字符串库函数`trim`去掉字符串首尾空格,示例代码如下:
```c++
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main() {
string str = " hello world ";
str.erase(str.begin(), find_if(str.begin(), str.end(), [](int ch) {
return !isspace(ch);
}));
str.erase(find_if(str.rbegin(), str.rend(), [](int ch) {
return !isspace(ch);
}).base(), str.end());
cout << "去掉首尾空格后的字符串为:" << str << endl;
return 0;
}
```
输出结果为:
```
去掉首尾空格后的字符串为:hello world
```
头歌去掉字符串首尾空格c++
在C++中,要去掉字符串(std::string)的首尾空格,你可以使用`std::string`类提供的成员函数`trim()`。然而,由于C++标准库并没有直接提供这样的功能,你可以自定义一个简单的辅助函数来实现这个需求。这里是一个示例:
```cpp
#include <algorithm>
#include <string>
// 自定义函数去除首尾空格
std::string trimWhitespace(std::string str) {
str.erase(0, str.find_first_not_of(' ')); // 移除开头空格
if (str.empty()) return str; // 如果只剩空串,直接返回
str.erase(str.size() - str.rfind(' ') - 1); // 移除结尾空格
return str;
}
int main() {
std::string str = " Hello, World! ";
str = trimWhitespace(str);
std::cout << "Trimmed string: " << str << std::endl;
阅读全文