Как выйти из ввода в консоли Linux - PullRequest
0 голосов
/ 05 декабря 2018

Я написал программу, которая запрашивает пользовательский ввод в цикле и завершает работу только при вводе exit.Однако в моей программе, похоже, есть ошибка, так что я никогда не могу выйти.Существует ли ярлык Linux, позволяющий мне выйти из программы, даже если я нахожусь в поле ввода пользователя?Я использую Linux в Oracle Virtualbox на ноутбуке с Windows 10.

Я думаю, причина может быть в fgets.Теперь с помощью fflush () выводится «test», но после этого командная строка снова ожидает ввода.Функция "parse" указана в функции parser.c, но это не должно относиться к этому вопросу.

#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include "parser.c"

int main()
{
    //Ausgabe des "$"
    write(1, "$", 1);
    //Auf Eingabe des Nutzers warten:
    char *input=malloc(1024*sizeof(char));
    fgets(input, 1023, stdin);
    fflush(stdout);
    printf("%s", "test", 5);
    parse(input);
    return 0;
}

Большое спасибо за ваш ответ.

...