掉字符串首尾空格c++
时间: 2023-12-02 16:54:21 浏览: 159
可以使用C++中的字符串处理函数`std::string::find_first_not_of`和`std::string::find_last_not_of`来去除字符串的首尾空格。
示例代码:
```c++
#include <iostream>
#include <string>
int main() {
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) {
std::cout << "Error: string is all spaces\n";
return 1;
}
std::string trimmed_str = str.substr(start, end - start + 1);
std::cout << trimmed_str << std::endl; // output: "hello world!"
return 0;
}
```
在上述代码中,`std::string::find_first_not_of`和`std::string::find_last_not_of`函数分别查找第一个非空格字符和最后一个非空格字符的位置。如果字符串全部为空格,则这两个函数的返回值都是`std::string::npos`,表示查找失败。如果字符串不全是空格,则使用`std::string::substr`函数提取出去除空格后的子字符串。
阅读全文