Guest User

Untitled

a guest
Dec 11th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.65 KB | None | 0 0
  1. #include <unistd.h> //_getch
  2. #include <termios.h> //_getch
  3. using namespace std;
  4. char getch(){
  5. char buf=0;
  6. struct termios old={0};
  7. fflush(stdout);
  8. if(tcgetattr(0, &old)<0)
  9. cerr<<"tcsetattr()";
  10. old.c_lflag&=~ICANON;
  11. old.c_lflag&=~ECHO;
  12. old.c_cc[VMIN]=1;
  13. old.c_cc[VTIME]=0;
  14. if(tcsetattr(0, TCSANOW, &old)<0)
  15. cerr<<"tcsetattr ICANON";
  16. if(read(0,&buf,1)<0)
  17. cerr<<"read()";
  18. old.c_lflag|=ICANON;
  19. old.c_lflag|=ECHO;
  20. if(tcsetattr(0, TCSADRAIN, &old)<0)
  21. cerr<<"tcsetattr ~ICANON";
  22. printf("%c\n",buf);
  23. return buf;
  24. }
  25. main(){
  26. char x=getch();
  27. cout<<x;
  28. return 0;
  29. }
Add Comment
Please, Sign In to add comment