Implement a Simple Shell Command Parser

Code

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

void parse_shell_input(char *line) {
    // Your logic here
    char data[10][10];
    int count =0;

    int x =0;
    int y =0;
    while(*line){
            if (!(*line==' ')){
               data[x][y] = *line;
               y++;
            }
            else { //delimiter
                if (y) {
                    data[x][y] ='\0';
                    x++;
                    count++;
                    y=0;
                }
                
            } 
    line++;
    }
    //last delimiter
    data[x][y] = '\0';
    count++;

    for (int i =0; i< count; i++) printf("%s\n",data[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