0

我有一个检测键盘事件的 C 程序,但我需要知道实现输入缓冲区的最佳技术和一个简单的getch函数来检索缓冲区中最旧的字符。

4

1 回答 1

0

一种方法是使用循环缓冲区。您创建一个固定大小的数组并具有两个索引,一个读取索引和一个写入索引。每次触发键盘事件时,您将值放在写入索引和增量处。调用该getch函数时,您从读取索引中读取并递增它。如果任一索引超过数组的大小,它就会重置到开头。

如果读索引和写索引相等,则没有键在等待。如果写索引刚好在读索引之前,则缓冲区已满,需要删除键盘事件。

如果您不想要“完整”缓冲区,它会变得更加复杂。

于 2012-07-10T03:27:03.567 回答