Ⅰ C语言自定义消息函数的等待怎么写
消息队列的等待就是GetMessage,没办法自己写,除非你打算改Windows本身。这个函数如果没有消息进来就会释放CPU,如果不希望等待用PeekMessage。消息循环的格式是固定的。
Ⅱ 在C语言中加入什么可以让输出结果停留
getch();
getch()函数是无回显的从控制台取得一个字符。以利用getch()函数让程序调试运行结束后等待编程者按下键盘才返回编辑界面,即任意键继续效果。
#include
#include
void main( )
{
printf("This is a C program. ");
getch() ;
}
(2)c语言如何让程序等待扩展阅读:
getch();注意事项
1、所在头文件是conio.h。而不是stdio.h。
2、在使用之前要调用initscr(),结束时要调用endwin()。否则会出现不输入字符这个函数
也会返回的情况。
3、在不同平台,输入回车,getch()将返回不同数值,而getchar()统一返回10(即 )
windows平台下ENTER键会产生两个转义字符 ,因此getch返回13( )。
unix、 linux系统中ENTER键只产生 ,因此getch返回10( )。
MAC OS中ENTER键将产生 ,因此getch返回13( )。
Ⅲ 如何用c语言控制台程序进行延时等待,同时还可以执行其他函数
所谓的延时程序,就是让程序进入一段无效循环,达到延时目的
有一个延时参数表的。
下面是一个10ms延时子程序(12MHZ)
void delay10ms(void)
{
unsigned char i,j,k;
for(i=5;i>0;i--)
for(j=4;j>0;j--)
for(k=248;k>0;k--);
}
Ⅳ C语言如何设置让程序运行时处于等待状态,串口收到命令后作出反应
这个 需要利用串口中断
假设说 中断标志位 为 TI 接收缓存为sbuf
。。。。。。
void main()
{
。。。。。
while((TI!=1)||((data=sbuf)!=0x10) ; //直到等到 有串口中断 且接收位10h 才继续执行
。。。。。
while(1)
{
...
}
}
不清楚可追问
Ⅳ 编C语言的程序想让执行后的结果停下来不要一闪就过怎么办,
可以手动在想要停下来的地方加入暂停功能的函数。一般有如下几种实现方式:
1 通过getch函数。
在要暂停的位置,加入getch()调用,系统会暂停程序运行,直到终端输入一个字符为止。
2 对于部分平台,不支持getch函数的,可以通过getchar()函数,实现类似功能。
由于getchar是读缓冲区,与getch直接读键盘输入有所不同,所以为了避免干扰,在getchar之前需要调用fflush(stdin);来清空缓冲区。
3 使用system函数。
system函数功能为调用shell命令,而系统中的pause命令可以实现暂停功能,所以通过调用
system("pause");
可以实现暂停执行的效果。
Ⅵ c语言有个可以使程序延时的语句是什么
Sleep函数:功 能: 执行挂起一段时间 用 法: unsigned sleep(unsigned seconds); 注意: 在VC中使用带上头文件#include <windows.h>在VC中,Sleep中的第一个英文字符为大写的"S" ,在标准C中是sleep, 不要大写,简单的说VC用Sleep, 别的一律使用sleep 在VC中,Sleep()里面的单位,是以毫秒为单位,所以如果想让函数滞留1秒的话,应该是Sleep(1000); 在Linux下,sleep()里面的单位是秒,而不是毫秒。 示例: #include <windows.h> int main() { int a; a=1000; Sleep(a); return 0; } usleep函数:功能:usleep功能把进程挂起一段时间, 单位是微秒us(百万分之一秒)。 delay函数:功 能: 将程序的执行暂停一段时间,单位是毫秒ms(千分之一秒) 用 法: void delay(unsigned milliseconds); 示例: #include<dos.h> int main(void) { sound(440); delay(500); nosound(); return 0; }delay()是循环等待,该进程还在运行,占用处理器。sleep()不同,它会被挂起,把处理器让给其他的进程。
Ⅶ C语言中如何做到等待
//等待方法有很多,以C语言举例
//最简单的可以使用sleep进行延时等待
//也可以写个空循环语句,用来等待循环,但空循环语句不能精确等待时间
//可以使用各类锁进行互斥等待
//可以使用信号量进行等待
//可以使用消息队列进行等待
//再有os的情况下,可以使用线程挂起来进行等待
//此外还有很多,可以看看操作系统相关的书
Ⅷ C语言中如何让线程等待进程执行完一部分后,线程再继续执行
#include"afxmt.h"
//全局变量
CEventevent(FALSE,TRUE);//第二个参数为TRUE表示手动信号
event.SetEvent();
//线程中要等待的地方
WaitForSingleObject(event,INFINITE)//永远等待
......//线程中的代码
event.ResetEvent();//线程挂起
//-----------------------------------------------------
//以上代码C好像不行,可以用笨办法
//定义一个全局标识变量intflag=0;
//在线程中
while(flag==0)//在主线程中改变flag的值,一旦不为0,则执行线程中的代码
{
Sleep(1);
}
......//线程要执行的功能
Ⅸ 在C语言中怎样实现等几秒钟在执行下一个程序
用sleep函数,貌似在windows.h中。
用for(i = 0; i < 1000; i++);不行,计算机每秒可以进行上千万,甚至上亿次运算,才1000次运算哪里能够消耗1s...
Ⅹ c++如何让当前进程等待一秒继续执行
使用Sleep(1000)即可,参考代码如下:
#include <windows.h>
#include<stdio.h>
int main()
{
int a;
a=1000;
printf("你");
Sleep(a);/* VC 使用Sleep*/
printf("好"); /*输出“你”和“好”之间会间隔一千毫秒,即间隔一秒,sleep()的单位为毫秒*/
return 0;
}
(10)c语言如何让程序等待扩展阅读:
用法
sleep()函数的调用需要一个时间作为参数,代表程序执行挂起的时间间隔。通常参数的单位是秒,但在一些更加精确的操作系统中能以毫秒甚至是微秒为单位。
Sleep函数的一般形式:
Sleep(unsigned long);
其中,Sleep()里面的单位,是以毫秒为单位,所以如果想让函数滞留1秒的话,应该是Sleep(1000)
sleep()单位为秒,usleep()里面的单位是微秒。