Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <unistd.h> //_getch
- #include <termios.h> //_getch
- using namespace std;
- char getch(){
- char buf=0;
- struct termios old={0};
- fflush(stdout);
- if(tcgetattr(0, &old)<0)
- cerr<<"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)
- cerr<<"tcsetattr ICANON";
- if(read(0,&buf,1)<0)
- cerr<<"read()";
- old.c_lflag|=ICANON;
- old.c_lflag|=ECHO;
- if(tcsetattr(0, TCSADRAIN, &old)<0)
- cerr<<"tcsetattr ~ICANON";
- printf("%c\n",buf);
- return buf;
- }
- main(){
- char x=getch();
- cout<<x;
- return 0;
- }
Add Comment
Please, Sign In to add comment