| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1534 人关注过本帖, 1 人收藏
标题:问大家一个关于键盘的问题
只看楼主 加入收藏
拉拉面
Rank: 1
来 自:广州
等 级:新手上路
帖 子:26
专家分:5
注 册:2018-9-22
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:3 
问大家一个关于键盘的问题
最近想搞双人游戏,但是用普通的getch()出了问题:无法几个按钮同时读取,比如当我长按‘a’键时,就会不断地读‘a’,但是在按a的同时又长按下b就会只读到b,有没有什么可以解决的办法??像大佬求助!!
搜索更多相关主题的帖子: 键盘 同时 读取 只读 办法 
2018-10-12 20:05
拉拉面
Rank: 1
来 自:广州
等 级:新手上路
帖 子:26
专家分:5
注 册:2018-9-22
收藏
得分:0 
有没有大佬教教哇~~~

哈哈哈哈哈啦啦啦
2018-10-12 23:31
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:20 
试试用子线程,如:
#include <stdio.h>
#include <pthread.h>

void *_print(void *par)
{
    char k = (char)(*((char*)par));
    char ch;
    while ((ch=getch()) != '0')
        printf("%c %c\n", k, ch);
    return NULL;
}

int main(void)
{
    pthread_t t[2];
    char p[2]= {'a','b'};
    if(pthread_create(&t[0], NULL, _print, &p[0]) == -1)
    {
        puts("fail to create pthread t0");
        exit(1);
    }
    if(pthread_create(&t[1], NULL, _print, &p[1]) == -1)
    {
        puts("fail to create pthread t1");
        exit(1);
    }
    void * ret;
    if(pthread_join(t[0], &ret) == -1)
    {
        puts("fail to recollect t0");
        exit(1);
    }
    if(pthread_join(t[1], &ret) == -1)
    {
        puts("fail to recollect t1");
        exit(1);
    }
    return 0;
}

[此贴子已经被作者于2018-10-13 06:54编辑过]

2018-10-13 06:50
拉拉面
Rank: 1
来 自:广州
等 级:新手上路
帖 子:26
专家分:5
注 册:2018-9-22
收藏
得分:0 
回复 3楼 吹水佬
谢谢谢谢!

哈哈哈哈哈啦啦啦
2018-10-13 23:42
快速回复:问大家一个关于键盘的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012447 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved