用C语言编写函数ltrim,用来删除字符串中的前导空格,中间和尾部的空格不删除。例如:字符串为:" A BC DEF ",删除后的结果是"A BC DEF "。要求函数形参采用指针变量。
时间: 2024-03-16 08:44:38 浏览: 134
删除字符串空格C语言
5星 · 资源好评率100%
好的,我可以为您编写这个函数。以下是函数的代码:
```c
#include <stdio.h>
#include <string.h>
void ltrim(char *str) {
int i, j;
int len = strlen(str);
// 找到第一个非空格字符的位置
for (i = 0; i < len && str[i] == ' '; i++);
// 移动剩余字符
if (i > 0) {
for (j = 0; j < len - i; j++) {
str[j] = str[i+j];
}
str[j] = '\0';
}
}
int main() {
char str[] = " A BC DEF ";
printf("Before ltrim: \"%s\"\n", str);
ltrim(str);
printf("After ltrim: \"%s\"\n", str);
return 0;
}
```
输出结果为:
```
Before ltrim: " A BC DEF "
After ltrim: "A BC DEF "
```
在这个函数中,我们首先使用 `strlen` 函数获取字符串的长度,然后使用一个循环查找第一个非空格字符的位置。如果该位置不是字符串的开头,我们就将剩余的字符向前移动,覆盖掉前面的空格。最后,我们在字符串的末尾添加一个空字符,以确保字符串的终止。
阅读全文