C++ 监视检测键盘输入 字符 并打印

直接上代码:

注意以下代码基于linux系统,注意修改头文件如用windows的话。 sublime编译器很方便。

方式一: 可检测多个输入字符,enter结束


#include <fstream> // printf("%s\n", );
//#include <stdio.h> 
#include <sys/select.h> //fd_set
#include <unistd.h> // for linux STDIN_FILENO
using namespace std;
int main (void)
{
    fd_set fds;
    FD_ZERO(&fds);
    FD_SET(STDIN_FILENO,&fds);
    char stdin_buffer[256];
    while(1)
    {
        fflush(stdin);
        char keyboard_hit = 0;

        timeval tv;
        tv.tv_sec = 0;
        tv.tv_usec = 1000*1;
        FD_ZERO(&fds);
        FD_SET(STDIN_FILENO,&fds);

        int select_ret = select(STDIN_FILENO+1,&fds,NULL,NULL,&tv);
        if(select_ret <0)
        {
            printf("error in select stdin");

        }
        else
        {
            if(!FD_ISSET(STDIN_FILENO, &fds))
            {
                //printf("no key \n");
                continue;
            }
        }

        read(STDIN_FILENO,stdin_buffer,256);

        keyboard_hit = stdin_buffer[0];
        //printf("%c\n", keyboard_hit);
        //printf("keyboard: %d \n", keyboard_hit);
        if(keyboard_hit == 'a')
        {
            printf("input a \n");

        }
    }
return 0;
}

方式二: 单字符输入和输出

#include <stdio.h>
using namespace std;

int main()
{
    char a;
    a = getchar();
    putchar(a);
    putchar('\r');
    while (a = getchar())
    {
        putchar(a);
        putchar(' ');
    }
}  
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值