标签:setattr read clu anon erro win struct ret pre
\(Linux\)下:
#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\)下:
#include<conio.h>
getch();
标签:setattr read clu anon erro win struct ret pre
原文地址:https://www.cnblogs.com/s-t-a-r-d-u-s-t/p/11519554.html