[问题] 使循环进行无限次数执行

楼主: t78923t (トースト)   2015-12-24 01:19:22
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
VS 2008
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)

问题(Question):
我想制造一个可以无限次数执行的循环
目前看到的方式是使用kbhit()函数当作do{...} while( )循环的终止条件
就是在键盘未按下任意键时 循环不会终止
我想请问还有哪种方式可以造成一样效果的?
PS:除了while(1){...}这种方式
谢谢。
喂入的资料(Input):
预期的正确结果(Expected Output):
错误结果(Wrong Output):
程式码(Code):(请善用置底文网页, 记得排版)
补充说明(Supplement):
作者: BIAO (超越自己)   2015-12-24 01:41:00
while(变量)... ?
作者: winken2004 (新竹肥宅)   2015-12-24 01:51:00
for(;;)
作者: LPH66 (-6.2598534e+18f)   2015-12-24 02:16:00
有什么理由你不想写 while(1) 或 while(true) 吗?
作者: qas612820704 (Lego)   2015-12-24 04:47:00
接到东西break while不就行了吗 还有你想要无穷for不是也是有一样的问题
作者: TobyH4cker (Toby (我要当好人))   2015-12-24 05:14:00
UI Thread进到循环了当然卡住啊
作者: LPH66 (-6.2598534e+18f)   2015-12-24 06:23:00
问题就只是楼上讲的 UI Thread 被卡住了而已
作者: rodion (r-kan/reminder)   2015-12-24 10:05:00
你需要的是multi-thread... 这是gui程式的必备工具
作者: HolyBugTw (HolyBug)   2015-12-24 10:50:00
坦白说,我觉得你没有问对问题
作者: longlongint (华哥尔)   2015-12-24 11:36:00
用 even handle 来做eventmulti-thread 然后把 lock 当接力棒丢 (?
作者: james732 (好人超)   2015-12-24 11:59:00
MFC的话就是把无穷循环写在另一个thread停止条件就用个event object去检查吧
作者: BIAO (超越自己)   2015-12-24 13:14:00
楼上几位大大都突破盲肠了!简单的说..在Process起来时,启动一thread,这thread负责处理按了button后的措施,这措施通常是SetEvent,WaitForSingleObject置于new出来这个thread的无穷循环内部,在程式结束时,一样会SetEvent给这个同步物件WaitForSingleObjject,进行资源的释放。这么做的目的,就是为了避免main thread卡住,new的那个就专门用来处理UI后端的资料部份。我想你对于这些Windows API不熟,建议你先了解一下这些工具的使用方式,谢谢。以上只是一种做法供你参考,不一定要这样做,就是一个概念。
作者: CumCumCum (2 hard 2 hard)   2015-12-24 14:18:00
非得主绪执行的话 就用timer吧
作者: overhead (overhead)   2015-12-24 20:08:00
你做mfc一定要开至少两条thread,总不能你后端运作时,user用的画面卡住吧不是很懂 总之你可以用AfxBeginThread
作者: justinj (黑旋风)   2015-12-25 11:15:00
程式是直线执行的..任何无限循环都可以..主要是要有"跳"的方法....
作者: boss0405 (boss)   2015-12-25 12:34:00
AfxBeginThread,用法可以上msdn查
作者: overhead (overhead)   2015-12-25 13:27:00
另外建议要再念过multi-thread相关知识 不然容易有bug

Links booklink

Contact Us: admin [ a t ] ucptt.com