男人走路的正确方法:如何用c语言编写可暂停的程序

来源:百度文库 编辑:中科新闻网 时间:2024/04/27 22:08:07
当程序运行时按回车暂停,再按回车继续运行,不是那种用getch()

调用bioskey()函数
/*

bioskey函数介绍
函数原型:int bioskey (int cmd)
说明:bioskey()的函数原型在bios.h中
bioskey()完成直接键盘操作,cmd的值决定执行什么操作。
cmd = 0:
当cmd是0,bioskey()返回下一个在键盘键入的值(它将等待到按下一个键)。它返回一个16位的二进制数,包括两个不同的值。当按下一个普通键时,它的低8位数存放该字符的ASCII码;对于特殊键(如方向键、F1~F12等等),低8位为0,高8位字节存放该键的扫描码。
cmd = 1:
当cmd是1,bioskey()查询是否按下一个键,若按下一个键则返回非零值,否则返回0。
cmd = 2:
当cmd是2,bioskey()返回Shift、Ctrl、Alt、ScrollLock、NumLock、CapsLock、Insert键的状态。各键状态存放在返回值的低8位字节中。
字节位 含义
0 右边Shift键状态
1 左边Shift键状态
3 Ctrl键状态
4 Alt键状态
5 ScrollLock键状态
6 NumLock键状态
7 CapsLock键状态
8 Insert键状态

*/
#include<bios.h>
#include<time.h>
#include<stdio.h>
int main()
{
char c;
while(1)
{
if(bioskey(1)!=0){c=getch();if(c=='q')break;system("pause");}
printf("Hello world!\n");

}
}

不知道你用的是什么c 语言版本, 我用tc时因为是dos 界面的, 所以简单的输入一个没用的字符就可以实现暂停功能.

还有一楼的是骗取积分的, 我们鄙视之!!!

两种方法:

1.使用getch()函数。
说明:
char getch(void)
参数:无。
返回值:字符。
作用:从键盘取一字符,但不显示在屏幕上。
使用:
#include <stdio.h>
#include <conio.h> /* 必须的 */

int main()
{
printf("\tpress any key to quit...");
getch();
return 0;
}

2.system("Pause")
system("Pause")表示直接调用DOS命令Pause。
说明:
void system(char *cmd);
参数cmd,DOS命令,如Pause, cls
返回值:无。
使用:
#include <stdio.h>

int main()
{
system("Pause");
return 0;
}

用双线程,线程a监视键盘事件,线程b做正常服务。b每次检测一个状态变量T,如果T=1,则正常服务,如果T=0,则暂停服务;a控制T的状态,如果键盘按键空格被按下,则将T从1变为0或相反。