103. Implement a Simple Shell Command Parser

Back To All Submissions
Previous Submission
Next Submission

Code

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

void parse_shell_input(char *line) {
    char tokens[10][100];
    int count = 0;
    int j = 0;
    int has_space = 0;

    while(*line) {
        if(*line == ' ' ||*line =='\n'){
             if(j>0){
                tokens[count][j] = '\0';
                count++;
                j = 0;
        }
        } else {
            tokens[count][j] = *line;
            j++;
        }
        line++;
    }
    if(j>0) {
        tokens[count][j] = '\0';
        count++;
    }
    for(int i=0; i<count; i++) {
        printf("%s\n", tokens[i]);
    }
}

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

    parse_shell_input(line);
    return 0;
}

Solving Approach

 

 

 

Was this helpful?
Upvote
Downvote