Direct input characters

\ (Linux \) at:

#include<unistd.h>
#include<termios.h>
char getch()
{
    char buf=0;
    struct termios old={0};
    if(tcgetattr(0,&old)<0)
        perror("tcsetattr()");
    old.c_lflag&=~ICANON;
    old.c_lflag&=~ECHO;
    old.c_cc[VMIN]=1;
    old.c_cc[VTIME]=0;
    if(tcsetattr(0,TCSANOW,&old)<0)
        perror("tcsetattr ICANON");
    if(read(0,&buf,1)<0)
        perror("read()");
    old.c_lflag|=ICANON;
    old.c_lflag|=ECHO;
    if(tcsetattr(0,TCSADRAIN,&old)<0)
        perror("tcsetattr ~ICANON");
    return buf;
}

\ (Windows \) at:

#include<conio.h>
getch();

Guess you like

Origin www.cnblogs.com/s-t-a-r-d-u-s-t/p/11519554.html