删除字符串中的前导空格,中间和尾部的空格不删除要求使用c语言实现该功能
时间: 2023-07-16 20:13:20 浏览: 103
可以使用指针和循环来实现删除字符串中的前导空格,示例代码如下:
```c
#include <stdio.h>
#include <string.h>
char* trim(char* str) {
char* p = str;
char* q = str;
int len = strlen(str);
// 删除前导空格
while (*p == ' ') {
p++;
}
// 复制非空字符
while (*p != '\0') {
*q = *p;
p++;
q++;
}
// 添加字符串结束符
*q = '\0';
return str;
}
int main() {
char str[] = " hello world ";
printf("Before trim: %s\n", str);
printf("After trim: %s\n", trim(str));
return 0;
}
```
输出结果:
```
Before trim: hello world
After trim: hello world
```
在本例中,我们首先定义了两个指针 `p` 和 `q`,它们都指向字符串的开头。然后,我们使用 `p` 指针遍历字符串,找到第一个非空字符。接着,我们复制从 `p` 指针开始的所有字符到 `q` 指针指向的位置。最后,我们在 `q` 指针的位置添加字符串结束符号,以确保字符串正确结束。
阅读全文