博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
_kbhit() for linux
阅读量:5248 次
发布时间:2019-06-14

本文共 1135 字,大约阅读时间需要 3 分钟。

传送门:http://cboard.cprogramming.com/c-programming/63166-kbhit-linux.html

#include 
#include
#include
#include
#include
#include
int kbhit(void){ struct termios oldt, newt; int ch; int oldf; tcgetattr(STDIN_FILENO, &oldt); newt = oldt; newt.c_lflag &= ~(ICANON | ECHO); tcsetattr(STDIN_FILENO, TCSANOW, &newt); oldf = fcntl(STDIN_FILENO, F_GETFL, 0); fcntl(STDIN_FILENO, F_SETFL, oldf | O_NONBLOCK); ch = getchar(); tcsetattr(STDIN_FILENO, TCSANOW, &oldt); fcntl(STDIN_FILENO, F_SETFL, oldf); if(ch != EOF) { ungetc(ch, stdin); return 1; } return 0;} main( int argc, char** argv ){ char *input = argv[0]; int nomor = argc; pid_t pid = 0; /* set stuff up */ /* accept command line args */ pid = fork(); if( pid == 0 ){ /* this is the "background" process. Execute process loop here */ int x=0; while(1) { if(kbhit()) printf("you hit keyboard"); } } else { /* "foreground" process exits */ exit(0); }}

具体含义,有的解释是等待键盘输入;但此处用意为在 ios下使用while( !kbhit()) 控制openal的音效的循环播放.

转载于:https://www.cnblogs.com/wainiwann/p/3558295.html

你可能感兴趣的文章
跨域问题,什么是跨域、怎么解决跨域
查看>>
(转)关于PL/SQL Developer中对存储过程add debug information
查看>>
Alpha发布
查看>>
[转载]让Sublime Text2支持浏览器中预览
查看>>
Mac使用Charles抓取ios手机APP中的https请求
查看>>
django1.6 GET url传参 乱码
查看>>
1072 开学寄语
查看>>
UPW学习资料整理 .NET C# 转
查看>>
Ubuntu16.04 PPA方式安装JDK1.8
查看>>
python之日期和时间
查看>>
组件服务中找不到office word
查看>>
vue spa如何做seo优化
查看>>
如何在浏览器关闭发送请求
查看>>
【bzoj1034】[ZJOI2008]泡泡堂BNB
查看>>
一个使用openGL渲染的炫丽Android动画库二(碎片化曲面动画)
查看>>
安装SIMATIC_STEP_7_Professional_V14反复重启解决办法
查看>>
sqlite 数据类型 全面[转]
查看>>
高性能MySQL--innodb中事务的隔离级别与锁的关系
查看>>
20141211--C# 构造函数
查看>>
away3d显示Plane(基础 二)
查看>>