c语言实现:有一个前中后都有空格的字符串,删除其前面的所有空格,中间和后面的空格不要删除。
时间: 2023-07-16 10:14:49 浏览: 57
可以使用指针来实现字符串的操作,具体实现如下:
```c
#include <stdio.h>
#include <string.h>
void remove_front_spaces(char* str)
{
if (str == NULL) {
return;
}
char* p = str;
char* q = str;
// 找到第一个非空格字符
while (*p == ' ') {
p++;
}
// 移动字符串
while (*p != '\0') {
*q++ = *p++;
}
*q = '\0';
}
int main()
{
char str[] = " hello world ";
printf("Before: [%s]\n", str);
remove_front_spaces(str);
printf("After: [%s]\n", str);
return 0;
}
```
输出结果为:
```bash
Before: [ hello world ]
After: [hello world ]
```
在函数 `remove_front_spaces` 中,首先找到第一个非空格字符,然后将其后的字符串复制到原始字符串的开头。由于我们只删除前面的空格,所以中间和后面的空格不会被删除。最后,我们在原始字符串的末尾添加了一个空字符,以确保字符串的完整性。