Implement a Simple Shell Command Parser

Code

#include <stdio.h>
#include <ctype.h>

void parse_shell_input(char *line) {
    char arr[10][10];
    int k=0;
    int j=0;
    do{

        if(*line==' ')
        {
            if(j!=0)
            {
                arr[k][j]='\0';
            k++;
            j=0;
            }
            ;

        }
        else if(*line!='\0')
        {
            
            arr[k][j]=*line;
            
            j++;
        }
        else
        { 
            arr[k][j]='\0';
        }
        
    }while(*line++!='\0');

    for(int i=0;i<=k;i++)
    {
        printf("%s\n",arr[i]);
    }
}

int main() {
    char line[101];
    fgets(line, sizeof(line), stdin);

    parse_shell_input(line);
    return 0;
}

Solving Approach

 

 

 

Upvote
Downvote
Loading...

Input

led set 3 on

Expected Output

led set 3 on