掉字符串首尾空格c++ 用指针
时间: 2024-01-04 20:04:53 浏览: 119
可以使用指针来去掉字符串首尾的空格,具体实现如下:
```c++
#include <iostream>
#include <cstring>
using namespace std;
void trim(char* str) {
if (str == nullptr) {
return;
}
// 去掉字符串前面的空格
char* start = str;
while (*start == ' ') {
start++;
}
// 去掉字符串后面的空格
char* end = start + strlen(start) - 1;
while (end > start && *end == ' ') {
end--;
}
*(end + 1) = '\0';
// 拷贝去掉空格后的字符串到原字符串
if (start != str) {
strcpy(str, start);
}
}
int main() {
char str[] = " hello world ";
trim(str);
cout << str << endl; // 输出 hello world
return 0;
}
```
在该代码中,首先定义了一个 `trim` 函数,该函数通过指针遍历字符串,去掉字符串前面和后面的空格,并将去掉空格后的字符串拷贝回原字符串中。最后,在 `main` 函数中测试了一下该函数的功能。
阅读全文