码迷,mamicode.com
首页 > 编程语言 > 详细

(C/C++学习)12.获取系统时间制作时钟

时间:2018-10-15 23:18:45      阅读:231      评论:0      收藏:0      [点我收藏+]

标签: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 }

程序运行结果:

技术分享图片

(C/C++学习)12.获取系统时间制作时钟

标签:title   刷新   https   command   height   返回   按键   存储   png   

原文地址:https://www.cnblogs.com/tuihou/p/9789427.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!