C Как выйти из цикла while с помощью esc - PullRequest
0 голосов
/ 12 марта 2019

Я бы хотел выйти после того, как набрал клавишу 'esc' в консоли.Но, к сожалению, я понятия не имею, как это сделать, не переписывая всю программу. В тот момент, когда она выходит из цикла после Ctrl + D.

    char* getUserInput(int bytes)
    {
      char* buffer = malloc(bytes);
      char* line = malloc(bytes);
      size_t len = 0;


      while (getline(&line, &len, stdin) > 0)  //I'd like to add one while condition
    //here, that will check if esc was pressed, like &&(_getch()!=27) 
    //or &&(!strcmp(line, (char)27)

      {
        strcat(buffer, line);
        line = malloc(bytes);
      }

      buffer[strlen(buffer) - 1] = '\0';
      return buffer;
    }

1 Ответ

1 голос
/ 12 марта 2019

См. Код ниже.Надеюсь, это поможет.

#include <stdio.h>

int main()
{
    char ch;
    do{
        ch = getch();
        printf("Inputed char: %c\n", ch);
    }while(ch != 27);
}
...