pastebin

Paste #81426: Untitled C paste by 113.108.133.61

#include <stdio.h>
#include <string.h>
#include <sys/time.h>
#include <unistd.h>
#include <termios.h>
#include <stdlib.h>

int main(void){
  char input[55]="\0";
  FILE *inputs;
  FILE *output;
  struct termios initial_settings, new_settings;
  if (!isatty(fileno(stdout)))
    {
      fprintf(stderr, "can't open!");
    }
  inputs = fopen ("/dev/tty", "r");
  output = fopen ("/dev/tty", "w");
  if (!inputs || !output)
    {
      fprintf(stderr, "!!!!!" );
      exit (1);
    }
  tcgetattr(fileno(inputs), &initial_settings);
  new_settings = initial_settings;
  new_settings.c_lflag &= ~ICANON;
  /* new_settings.c_lflag &= ~ECHO; */
  new_settings.c_cc[VMIN] = 10;
  new_settings.c_cc[VTIME] = 10;
  new_settings.c_lflag &= ~ISIG;
if (tcsetattr(fileno(stdin), TCSANOW, &new_settings) != 0)
  {
    exit (12);
  }

  
  struct timeval timeout;
  timeout.tv_sec=3;
  timeout.tv_usec=0;
  fd_set rdfds;
  FD_ZERO(&rdfds);
  FD_SET(0,&rdfds);
  int ret=select(1,&rdfds,NULL,NULL,&timeout);
  if (ret<0) perror("select");
  else if (ret==0) printf("it's timeout!\n");
  else { read(0,inputs,55);}
  write(1,input,strlen(input));
  return 0;
}

Private
Wrap long lines

3 + 1 =