Linux练习(读取字符立即回显)

#include <stdio.h>
#include <termios.h>
int main()
{
        char s;
//        FILE *in;
//        FILE *out;
        struct termios initial_settings,new_settings;
//        in=fopen("/dev/tty","r");
//        out=fopen("/dev/tty","w");

        tcgetattr(fileno(stdin),&initial_settings);//保存原来的设置
        new_settings=initial_settings;    //开始新终端控制设置
        new_settings.c_lflag &= ~ICANON;
        new_settings.c_lflag &= ~ECHO;
        new_settings.c_cc[VMIN] = 1;
        new_settings.c_cc[VTIME] = 0;
        if(tcsetattr(fileno(stdin),TCSANOW,&new_settings)!=0) //应用新的设置
                fprintf(stderr,"coutld not set attributes\n");

        do
        {
            s=fgetc(stdin);
            fprintf(stdout,"\nyou input %c\n",s);
        }while(s!='q');
        
        tcsetattr(fileno(stdin),TCSANOW,&initial_settings);//返回原来的设置
                
        return 0;
}

转载于:https://www.cnblogs.com/tiandsp/archive/2012/09/09/2677910.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值