| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3610 人关注过本帖
标题:如何存取键盘缓冲区?
只看楼主 加入收藏
zhoudavid
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-12-15
收藏
得分:0 
首先,

我的目的:
我输入abcde,现在它在缓冲区里了。然后让指针从a到e计数(此时,指针指到了e),再通过malloc为abcde在内存中开辟一段动态地址,但此时地址中无内容,要将abcde从缓冲区移到这一段动态地址中,我个人观点,只有将指针从e移到a,将abcde移动到内存中了。

至于你说的buff_head 和 buff_tail,我不懂,但是貌似可能实现的。
怎么用啊?

再拜达人!
2005-12-22 15:51
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 

看不懂10楼的东西,你就写不了这个程序,还你说的话我看不明白。


#include<stdlib.h>
#include<stdio.h>?

typedef unsigned far *PFU;
typedef char far *PFC;

int main()
{
PFU kb_end = (PFU)0x0040001c; //缓冲区尾指针
PFC dos_data=(PFC)0x00400000; //缓冲区数据区
dos_data[(*kb_end)++]='K'; //给键盘缓冲赋值'K',相当按下K键
printf("%c",getch()); //用getch提取

}


九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2005-12-22 19:18
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 

#include<stdlib.h>
#include<stdio.h>
#include<time.h>

typedef unsigned far *PFU;
typedef char far *PFC;

int main()
{ int i;
PFU kb_end = (PFU)0x0040001c; //缓冲区尾指针
PFC dos_data=(PFC)0x00400000; //缓冲区数据区
sleep(10); //暂停10秒,让你有时间从键盘输入字符,
(*kb_end)--;
(*kb_end)--;
for(i=0;i<5;i++) //键盘缓冲区的大小为32个字节,最多只能容纳16个字符
{

printf("%c",dos_data[(*kb_end)--]);
(*kb_end)--;
} //这里输出刚才的按键,注意是5个ASCII字符
//这只是个演示程序
}


九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2005-12-22 19:35
DICK9112008
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2009-6-8
收藏
得分:0 
回复 10楼 Knocker
求教你这段代码哪里来的...
还是说自己写的汇编...可是自己写的汇编前面是不带地址的阿...
2014-02-22 12:42
快速回复:如何存取键盘缓冲区?
数据加载中...
 
   



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

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