删除字符串前面的空格

编写一个c语言程序,删除一个字符串前面所有的空格,而不是字符串所有的空格。求大家帮忙


#include <stdio.h>
#include <string.h>
#include <stdlib.h>

char *pretrim(char *str)
{
    char *p = str;
    while (*p == ' ')
        p++;
    return p;
}

int main()
{
    char *str = "  hello world  d";
    printf("%s\n", pretrim(str));
    return 0;
}

删前面的所有空格?如果是读入的话,会从不是空格的字符开始读。
如果不是,直接循环到不是空格的第一个字符,然后挨个写进新的字符串a[i]=b[j]不就行了。