Do you know that? 1 in 3 people will be hired online by 2020 next

How can I remove the leading spaces from a string?

The C language does not provide a standard function that removes leading spaces from a string. It is easy,
however, to build your own function to do just this. you can easily construct a custom function that uses the rtrim() function in conjunction with the standard C library function strrev() to remove the leading spaces from a string. Look at how this task is performed:

#include <stdio.h>
#include <string.h>
void main(void);
char* ltrim(char*);
char* rtrim(char*);
void main(void)
{
     char* lead_str = "          This string has leading spaces in it.";
     /* Show the status of the string before calling the ltrim()
        function. */
     printf("Before calling ltrim(), lead_str is '%s'\n", lead_str);
     printf("and has a length of %d.\n", strlen(lead_str));
     /* Call the ltrim() function to remove the leading blanks. */
     ltrim(lead_str);
     /* Show the status of the string
        after calling the ltrim() function. */
     printf("After calling ltrim(), lead_str is '%s'\n", lead_str);
     printf("and has a length of %d.\n", strlen(lead_str));
}
/* The ltrim() function removes leading spaces from a string. */
char* ltrim(char* str)
{
     strrev(str);    /* Call strrev() to reverse the string. */
     rtrim(str);     /* Call rtrim() to remove the "trailing" spaces. */
     strrev(str);    /* Restore the string's original order. */
     return str;     /* Return a pointer to the string. */
}
/* The rtrim() function removes trailing spaces from a string. */
char* rtrim(char* str)
{
     int n = strlen(str) - 1;     /* Start at the character BEFORE
                                     the null character (\0). */
     while (n>0)            /* Make sure we don't go out of bounds... */
     {
          if (*(str+n) != ' ')    /* If we find a nonspace character: */
          {
               *(str+n+1) = '\0'; /* Put the null character at one
                                     character past our current
                                     position. */
               break;             /* Break out of the loop. */
          }
          else      /* Otherwise, keep moving backward in the string. */
               n--;
     }
     return str;                  /* Return a pointer to the string. */
}

Notice that the ltrim() function performs the following tasks: First, it calls the standard C library function
strrev(), which reverses the string that is passed to it. This action puts the original string in reverse order,
thereby creating "trailing spaces" rather than leading spaces. Now, the rtrim() function is used to remove the "trailing spaces" from the string. After this task is done, the strrev() function is called again to "reverse" the string, thereby putting it back in its original order.