Implement a Simple Shell Command Parser

Code

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


void parse_shell_input( char *line){

    int l=0, r=0;

    char tmp[102];

    while( r<100 && line[r]!='\0'){

        while(r<100 && line[r]!= ' ' && line[r]!='\0')
         r++;

        memcpy(tmp, &line[l], r-l);

        tmp[r-l]='\0';

        printf("%s\n", tmp);
        while(r< 100 && line[r] ==' ')
                r++;
        

        l=r;
    }
}


// void parse_shell_input(char *line){
//     int i=0;
//     while(line[i]!='\0'){

//         while(line[i]==' '){
//             i++;
//         }

//         if(line[i]=='\0')
//             break;

//         while(line[i]!= ' ' && line[i]!='\0'){
//             putchar(line[i]);
//             i++;
//         }

//         putchar('\n');
//     }

//     return;
// }


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

//     parse_shell_input(line);
//     return 0;
// }

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