以下是引用pangding在2010-8-12 00:14:30的发言:
我估计楼主的意思是要不停的现实OK,然后以按0就结束,然后按1又不停的显示。
我的感觉实现的话需要多线程的,C的多线程不熟悉哦,JAVA里相对简单很多。
是这意思吗,楼主来说一句?
难道意思是输入 1 然后 不停的打印 “OK” 我估计楼主的意思是要不停的现实OK,然后以按0就结束,然后按1又不停的显示。
我的感觉实现的话需要多线程的,C的多线程不熟悉哦,JAVA里相对简单很多。
是这意思吗,楼主来说一句?
输入 0 则 停止打印??
我再加个功能,就是输入ESC 结束????
如果是这样的话,不用多线程吧?这样的按键控制,在DOS下很容易实现的啊!我在TC下的程序(其他没有说明的按键,效果同0,也可以增加判断,使得其他按键无效,就是不影响上面的逻辑):
程序代码:
#include "stdio.h" #include "bios.h" #define ESC 0x11b /* 定义 ESC键 */ #define K0 0x5230 /* 定义 0 键 */ #define K1 0x231 /* 定义 1 键 */ main() { int k; while(1) /* 反复从键盘获得程序需要的按键 */ { if(bioskey(1)) /* 判断是否有按键 */ { k=bioskey(0); /* 将按键存入变量k */ switch(k) /* 对按键进行分情况处理 */ { case ESC: /* ESC键 退出 */ exit(0); break; case K0 : /* 0键暂停 */ break; case K1: /* 1键不停地输出OK */ while(1) if(!bioskey(1)) printf("OK! "); else break; } } } }
[ 本帖最后由 jack10141 于 2010-8-12 13:04 编辑 ]
Coding就像一盒巧克力,你永远不会知道你会遇到什么BUG
别跟我说你是不能的,这让我愤怒,因为这侮辱了你的智慧