- 论坛徽章:
- 0
|
使能够切换标准输入和输出到扫描(scan)模式以及相反(即禁止回送,禁止信号,禁止典型模式和设置成从read()l立即返回字符)
#my_termios.c
#include <stdio.h>
#include <unistd.h>
struct termios tsave;
void scan_mode(void)
{
struct termios tbuf;
if(isatty(0))
fatal("error");
if(tcgetattr(0,&buf)==-1)
fatal("getting termios error");
tsave=tbuf;
tbuf.c_lflag&=~(ECHO | ICANON | ISIG);
tbuf.c_cc[VMIN]=tbuf.c_cc[VTIME]=0;
if(tcsetattr(0,TCSANOW,&tbuf)==-1)
fatal("setting termios error");
}
void restore_mode(void)
{
if(tcsetattr(0,ICSANOW,&tsave)==-1)
fatal("restore error");
}
...........
...........
#gcc -o my_termios my_termios.c
#./my_termios
error
??????为什么会输出error??? |
|