ncurses库实现电子时钟

1.创建graphics.c

2. 编辑graphics.c,编译:

gcc -o graphic graphic.c -L/usr/lib/i386-linux-gnu/ -lncurses

3.graphics.c的源码如下:

[email protected]:/mnt/shared/appbox/graphic# cat graphic.c
#include <curses.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>

#include <ncurses.h>
#include <unistd.h>
#include <time.h>
#include <string.h>
#include <stdlib.h>
#include <pthread.h>
#include <errno.h>

int main()
{

    int x,y;    //得到当前标准窗口的行和列数
    time_t t;
    pthread_t thread;
    WINDOW *win;

    initscr();          //初始化标准窗口,必需滴
    curs_set(0);        //隐藏光标动态
    noecho();           //输入无回显
    getmaxyx(stdscr,y,x);       //得到标准窗口的行和列数
    win=newwin(5,40,y/2-5/2,x/2-40/2);  //在标准窗口的中央创建一个窗口

    refresh();          //刷新一下标准窗口,不然无法显示新建的窗口
    wrefresh(win);      //刷新一下新建的窗口
    getmaxyx(win,y,x);      //得到新建窗口的行数和列数

    while(1)  //无限循环
    {
        t=time(NULL);  //得到自某个时间到如今的所有秒数

        mvwprintw(win,y/2,x/10,"[");   //在新建的窗口中央输入日期和时间使用ctime函数进行转换
        mvwprintw(win,y/2,x/2-(strlen(ctime(&t))+1)/2,"%s",ctime(&t));   //在新建的窗口中央输入日期和时间使用ctime函数进行转换
        mvwprintw(win,y/2,4*x/5,"]");   //在新建的窗口中央输入日期和时间使用ctime函数进行转换
        wrefresh(win);           //刷新窗口,不然无法显示日期和时间
        sleep(1);                     //挂起一秒
    }

        endwin();

        return 0;
}
[email protected]:/mnt/shared/appbox/graphic# 

4. 输出如下:

[  Fri Dec 26 10:18:45 2014 ]

时间: 2024-10-26 06:02:08

ncurses库实现电子时钟的相关文章

JavaScript电子时钟+倒计时

JavaScript时间类 获取时分秒: getHours() getMinutes(); getSeconds(); 获取年月日: getFullYear(); getMonth() + 1;//获取的月份需要+1: getDate(); //日期 getDay(); //获取的是星期,0-->星期天 实例:(效果图) <!DOCTYPE html> <html lang="en"> <head> <meta charset="

PyQt5用QTimer编写电子时钟

[说明] 本文用 PyQt5 的QTimer类的两种方式实现电子时钟 [效果图] [知识点] QTimer类提供了定时器信号/槽和单触发定时器. 它在内部使用定时器事件来提供更通用的定时器. QTimer很容易使用:创建一个QTimer,使用start()来开始并且把它的timeout()连接到适当的槽.当这段时间过去了,它将会发射timeout()信号. [实现] 1.定时器信号/槽方式 1 class MyTimer(QWidget): 2 def __init__(self, parent

Linux系统下安装ncurses库

ncurses库是一个Linux系统下的图形支持的函数库,字符终端处理库,包括面板和菜单. 今天在安装ncurses库的时候遇到了一些问题,现将遇到的问题所叙如下: 首先说明:本次安装采用的是源码包的安装方式,并没有直接使用一键命令的方式,并不是源码包安装方式有多牛逼,只是实在是我的虚拟机连不上外网. 1.下载ncurses库源码压缩包 大家可以去这个网址下载:http://ftp.gnu.org/pub/gnu/ncurses/ 版本的新旧差别不大,本次我选用的是ncurses-5.6版本 2

利用51单片机制作的电子时钟

最近研究起来了单片机,用的是国产STC98C52芯片. STC89C52是STC公司生产的一种低功耗.高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器.STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能.在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活.超有效的解决方案. 买了很长时间了可是一直在那里放着,今天重新拿出来写了一段电子时钟的C++程序,利用充电宝供

4-2电子时钟中的运算符重载

4-2 电子时钟中的运算符重载 Time Limit: 1000MS Memory limit: 65536K 题目描述 通过本题目的练习可以运算符重载的方法: 设计一个时间类Time,私有数据成员有hour(时).minute(分).second(秒): 公有成员函数有:setHour(int)设置数据成员hour的值,非法的输入默认为12:setMinue(int)设置数据成员minute的值,非法输入默认为0:setSecond(int)设置数据成员second的值,非法输入默认为0:se

基于单片机的电子时钟(有报时和定时)

我相信电工类的专业,对于单片机这个老东西是很熟悉的.下面.是我YID的一个电子时钟,包含了一个时钟的基本功能,定时和报时.(如果没有C51和单片机的基础知识可以先看看)话不多说.这来上来了: 要资料点击这里:下载地址1:下载地址2: 资料清单: (1)原件: (2) 控制流程图: (3)电路图(由于电路截图比较大,这里就不贴出来了.需要的朋友可以点击上面的下载地址下载) (4)最关键的地方来了,(电子时钟的c代码实现): #include<reg51.h> //头文件  定义单片机内部寄存器

一款纯JavaScript的圆形电子时钟

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>一款纯JavaScript的圆形电子时钟丨

Qt - 与众不同的电子时钟

Qt的电子时钟是个老掉牙的demo了,但是利用lcdNumber显示的样子非常老土(下图第一个显示效果),一看就知道是从qt帮助文档里摘出来的example,毫无新意. 美化一下系统时钟,抛开固有控件躯壳,DIY效果让人眼前一亮,要知道细节决定UI成败.这也是我一直所追求的. 思路非常简单,就是利用label或者button贴图变化显示. 一说到贴图,有人可能就会认为代码冗余,哐哐的加载图片大坨的判断和代码量……其实贴图也讲究方法,比如我实现了一个: getPngName(QChar x)来获取

美女时钟+电子时钟

1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 3 <html xmlns="http://www.w3.org/1999/xhtml"> 4 <head> 5 <title>美女时钟</ti