linux 字符界面 下的一个 简单计时器 [李园7舍_404]
来源:互联网 发布:培训机构网站asp源码 编辑:程序博客网 时间:2024/06/06 20:53
刚学完C语言,大概那个时候是显着没事干。年轻的时候真是....好不容易将其翻出来了,就当是记忆下。
/************************************************************* * Author: misskissc. * School: Southwest university. * Last Modified on 2. June. 2012. * Function describe: show time to shell(simple interface), * when input 'q' or ctrl+C timer quit. * ***********************************************************/ //Head files.#include <sys/time.h>#include <signal.h>#include <curses.h>#include <stdlib.h>#include <stdio.h>#include <time.h> //Constant macro.#define QUIT_TIMER 'q'#define SECOND_FULL 59#define MINUTE_FULL 59#define HOUR_FULL 23#define SHOW_TIME_COORDINATE_Y 10#define SHOW_TIME_COORDINATE_X 10 //Data of time.typedef struct _time{ int t_h; int t_m; int t_s;}hmstime; //Example of hmstime.hmstime *c_time; //Functions decalrations.void counttime(void);void showtime(void);void addcurses(void);void dealtime(int signo); /*Main: show time to shell*/int main(void){ addcurses(); int key_in; hmstime *bp_time; //Allocate RAM for pointer. c_time = (hmstime*)malloc( sizeof(hmstime) ); bp_time = (hmstime*)malloc( sizeof(hmstime) ); //First initialize 0. c_time->t_h = 0; c_time->t_m = 0; c_time->t_s = 0; counttime(); while(1); getch(); endwin(); return 0;}/* Dfine function: initicurses. * Function describe: Set attribute to curses.*/void addcurses(void){ initscr();} /* Dfine function: showtime. * Function describe: print time on shell.*/void dealtime(int signo){ //Reset clock. if( c_time->t_h == HOUR_FULL && c_time->t_m == MINUTE_FULL && c_time->t_s == SECOND_FULL ){ c_time->t_h = 0; c_time->t_m = 0; c_time->t_s = 0; }else if( c_time->t_m == MINUTE_FULL && c_time->t_s == SECOND_FULL ){ //Hour++. c_time->t_h++; c_time->t_m = 0; c_time->t_s = 0; }else if(c_time->t_s == SECOND_FULL){ //Minute++. c_time->t_m++; c_time->t_s = 0; }else if(c_time->t_s != SECOND_FULL){ //Second++. c_time->t_s++; } //Print. showtime();} /* Define function: counttime. * Function describe: count time by one second.*/void counttime(void){ struct sigaction act; struct itimerval value; /*1>.Sigal of break time.*/ act.sa_handler = dealtime; act.sa_flags = 0; sigemptyset(&act.sa_mask); sigaction(SIGPROF, &act, NULL); /*2>Time part.*/ value.it_value.tv_sec = 0; value.it_value.tv_usec = 1; value.it_interval.tv_sec = 1; value.it_interval.tv_usec = 0; setitimer(ITIMER_PROF, &value, NULL); } /* Define function: showtime * function describe: print time on shell interface.*/void showtime(void){ //Then print the time value. move(SHOW_TIME_COORDINATE_X, SHOW_TIME_COORDINATE_Y); printw("d:d:d", c_time->t_h, c_time->t_m, c_time->t_s); refresh();}
Note Over。
- linux 字符界面 下的一个 简单计时器 [李园7舍_404]
- LCD 1602字符菜单界面实现 [李园7舍_404]
- Linux C语言函数指针的简单使用 [李园7舍_404]
- matlab 简单控制原理仿真基础 [李园7舍_404]
- 一天Android App[简单钢琴]开发 [李园7舍_404]
- foobar2000播放器简单配置 [李园7舍_404]
- 一个简单的计时器
- 一个简单的计时器
- 一个简单的计时器
- Linux 汇编程序 系统调用 [李园7舍_404]
- C指针的值和地址 [李园7舍_404]
- C 指针的值来源 [李园7舍_404]
- keil编辑界面代码风格,字体,颜色设置 [李园7舍_404]
- 一个python简单的计时器
- 一个简单的倒计时计时器
- 一个简单的计时器类
- 一个简单的进程计时器
- 一个简单的倒数计时器
- 掌握真正适合企业需求的技术--就业高薪有保障
- 对待拷贝构造函数和赋值函数的3种境界
- STL容器删除操作总结
- Spring源代码调试
- Code::Blocks
- linux 字符界面 下的一个 简单计时器 [李园7舍_404]
- dirname(__FILE__)
- 1.2.1---Milking Cows
- 配置错误--分析器错误消息: 无法识别的属性“targetFramework”。请注意属性名称区分大小写。
- C++变量的存储类型
- 实用的ubuntu快捷方式
- js浏览器判断navigator
- 函数声明与STL容器构造
- ANT 的安装和配置