Создать командную оболочку / меню в C - PullRequest
1 голос
/ 06 октября 2010

Как программист на Java, который хочет изучать C, я пытаюсь создать меню на основе командной строки на C. Меню должно читать строку, разделенную пробелами, которые разделены на матрицу.Ниже приведен код Java, который делает то, что я хочу: Может кто-нибудь помочь мне создать меню на C с этой функциональностью?

while(scan.hasNextLine()) {
            String line = scan.nextLine();
            String [] command = line.split(" ");

            if(command[0].equals("c") && command[1] != null) {
                     ......

C:

char line[LINE_MAX];
    char *command;

    if(fgets(line, LINE_MAX, stdin) != NULL) {
        command = strtok(line," ");

        while(command != NULL) {
            printf("%s", command);
        }

    }

Ответы [ 2 ]

1 голос
/ 06 октября 2010

Посмотрите документацию fgets() (для замены hasNextLine() и nextLine()) и strtok() (для замены split()).

Редактировать : вот мое редактирование с вашей попытки:

while (fgets(line, LINE_MAX, stdin) != NULL) {
    command = strtok(line, " ");

    if (command != NULL) {
        char *argument;

        printf("command = %s\n", command);
        while ((argument = strtok(NULL, " \n")) != NULL) {
            printf("\targument = %s\n", argument);
        }
    }
}
1 голос
/ 06 октября 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...