C里面停止执行语句

来源:百度知道 编辑:UC知道 时间:2024/06/26 05:20:50
需要做到这样的一个步骤:
有一个按键操作,一直按着的时候每隔一秒打印一条语句出来,当按键松开的时候,马上停止打印。
我目前做到的却是:比如按住10秒,要一直打印到大概18次才能停下来。
请高手帮忙写点代码参考一下。
有这样的代码:
if (是我所指定的键被按下) {
printf("Pressed the key\n");
if (松开按键) {
停止打印;//我不知道这里语句该怎么写,麻烦帮个忙。
}
sleep(1);
}

我的就是类似这样,打印的时间总是大于按住的时间,是在Linux里面。
然后写会更好呢?

没见过有这种需求。

你按住键盘,在第10秒停下的时候,其实键盘中断还是没有处理完毕你10秒内按下的键盘次数的。

因此,再你松开的时候,键盘的中断仍然继续,也就是window处理键盘的中断的时候,有一定的延迟的。你可以看word,有时候,你持续按一个键,松开,但是word仍然还在打印。这个现象在unix下尤其突出。

方法:在你的时间间隔里面处理按键,发现这个按键pressdown,则打印。发现这个案件pressup,则停止打印。就可以了
而不能使在处理按键的函数中采用时间间隔处理

哦,不知道,更不知道你在说什么 。

同2楼.