标签:title 刷新 https command height 返回 按键 存储 png
说明:通过调用函数来获取系统当前时间,并制作一个数字式的时钟,时钟的显示包括年、月、日、小时、分以及秒,通过系统屏幕的刷新来对不断更新的时间进行屏幕的显示。
一.对相关函数的学习
1.time_t time(time_t *second);
a.头文件:<time.h>
b.该函数返回自纪元1970-01-01 00:00:00 起经过的秒数,这是一个很大的数,若 second 不为NULL,则返回值将自动存储在该指针中。
注意:此处的 time_t 以及 __time32_t 都是 long 的别名,其实也就是long int 变量类型。
2.struct tm * localtime (const time_t * timer);
a.头文件:<stdio.h>
b. 该函数的参数为从1990.1.1 00:00:00 到现在累积的秒数,即上个函数的返回值取地址,其返回值为一个结构体类型,其中包含了日期、小时等数据成员;具体见下表:
3.int kbhit(void);
a.头文件:<conio.h>
b.该函数的功能在于检测当前是否有键盘按键按下,如果有则返回一个非 0 值,否则返回0.
3.void sleep(unsigned second);
a.头文件:<unistd.h>
b.该函数能把进程挂起一段时间,单位为秒,无返回值。
4.void usleep(int micro_second);
a.头文件:<unistd.h>
b.把进程挂起一段时间,单位为微秒,无返回值。这个函数实测在 windows Qt编译器下不起作用。(网络上解释:该函数不能用在在windows系统下,只能用于 linux 的测试环境下面。)
注意:usleep() 与sleep() 类似,都用于将进程挂起一段时间。当需延迟时间数量级为秒的时候,尽量使用 sleep(),当为几十毫秒或者更小时,使用 usleep() 更精确。
5.int system(char *command);
a.头文件:<stdlib.h>
b.执行一个 windows 的 DOS 命令。这节主要讲一个命令:清屏。用来定时的刷新显示屏上的系统时间。在windows环境下,该函数为 system(“cls”);而在linux环境下,该函数为system(“clear”);并且,在linux环境下,也可以用如下语句来代替该语句:puts(“\033c”),printf(“\033c”)。两种方式也存在一定的差别,system()函数在调用命令时会“占用 ”一定的进程时间,如果需要精确的定时会导致定时不准确。而puts(“\033c”)和printf(“\033c”)则相对来说占用系统进程时间较少,用于定时比较精确。
二.数字式时钟的实现
代码功能:获取系统实时的时间(包括年、月、日、小时、分钟以及秒)等,显示在屏幕上,并刷新屏幕。
1 #include<time.h> 2 #include<iostream> 3 #include<unistd.h> 4 #include<conio.h> 5 using namespace std; 6 int main() 7 { 8 while(!kbhit()) 9 { 10 time_t t = time(NULL); 11 struct tm *localt = localtime(&t); 12 system("cls"); 13 cout<<‘\n‘<<"\t\t"; 14 cout<<localt->tm_year+1900<<‘\\‘; 15 cout<<localt->tm_mon+1<<‘\\‘; 16 cout<<localt->tm_mday<<‘\t‘; 17 cout<<localt->tm_hour<<‘:‘, 18 cout<<localt->tm_min<<‘:‘, 19 cout<<localt->tm_sec; 20 sleep(1); 21 } 22 return 0; 23 }
程序运行结果:
标签:title 刷新 https command height 返回 按键 存储 png
原文地址:https://www.cnblogs.com/tuihou/p/9789427.html