怎样跳出这个时间的循环??

来源:百度知道 编辑:UC知道 时间:2024/05/14 01:50:59
begin:
SYSTEMTIME *st; //
st=new SYSTEMTIME; //
GetLocalTime(st); //
cout<<"现在是"<<st->wYear<<"年"<<st->wMonth<<"月"<<st->wDay<<"日"<<st->wHour<<"点"<<st->wMinute<<"分"<<st->wSecond<<"秒"<<endl;
system("cls");
goto begin;

这段程序是循环显示系统时间的,就像电子表一样,我想在我程序运行的界面添加这个电子表,但是我还需要继续往下运行,因为这段程序有begin和goto begin,所以跳不出去,不能继续运行了,但是如果去掉begin和goto begin语句,那么只能显示固态的时间,就不能像电子表一样的了, 我该怎么办呢??
谁到是告诉我怎么用多线程啊~~~~~ 怎么用啊~!

#include "windows.h"

void Clock()//线程函数
{
printf("DDDDDD\n");
}
int main()//主线程入口函数
{
DWORD ThreadID = 0;
HANDLE h = CreateThread(NULL, 0,(LPTHREAD_START_ROUTINE)Clock, NULL, 0, &ThreadID);//创建线程函数
while(1)
;
return 0;
}
//其实不难,你只需要调用创建线程的系统函数就可以了,至于线程函数是如何调用的那是操作系统该干的事。要学的东西还有线程的互斥,死锁,线程间的调度。以后发展很可能是多核下的多线程编程,其实原理都是一样的,祝你早日成功。

//你想跳出循环用一个全局变量不行么?就是加上if (!g_endCock) return;
windows下也可以发消息解决这个问题。

很常用的一种方法就是使用多线程,创建一个线程单独用来显示时间.

又要显示时间,又要执行其它代码,只能是多线程

多线程

你可以设置一个timer定时器,因为你的最小时间单位是秒,可以设定每秒钟执行一次,这样时间就会随时更新了.也就不需要线程了.

用多线程编程吧!