⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tai64nlocal.c

📁 daemontools-0.76.tar.gz是在linux环境下自动监控进程的源程序
💻 C
字号:
#include <sys/types.h>#include <time.h>#include <sys/time.h>#include <unistd.h>#include "buffer.h"#include "fmt.h"char num[FMT_ULONG];void get(char *ch){  int r;  r = buffer_GETC(buffer_0,ch);  if (r == 1) return;  if (r == 0) _exit(0);  _exit(111);}void out(const char *buf,int len){  if (buffer_put(buffer_1,buf,len) == -1)    _exit(111);}time_t secs;unsigned long nanosecs;unsigned long u;struct tm *t;int main(){  char ch;  for (;;) {    get(&ch);    if (ch == '@') {      secs = 0;      nanosecs = 0;      for (;;) {        get(&ch);        u = ch - '0';        if (u >= 10) {          u = ch - 'a';          if (u >= 6) break;          u += 10;        }        secs <<= 4;        secs += nanosecs >> 28;        nanosecs &= 0xfffffff;        nanosecs <<= 4;        nanosecs += u;      }      secs -= 4611686018427387914ULL;      t = localtime(&secs);      out(num,fmt_ulong(num,1900 + t->tm_year));      out("-",1); out(num,fmt_uint0(num,1 + t->tm_mon,2));      out("-",1); out(num,fmt_uint0(num,t->tm_mday,2));      out(" ",1); out(num,fmt_uint0(num,t->tm_hour,2));      out(":",1); out(num,fmt_uint0(num,t->tm_min,2));      out(":",1); out(num,fmt_uint0(num,t->tm_sec,2));      out(".",1); out(num,fmt_uint0(num,nanosecs,9));    }    for (;;) {      out(&ch,1);      if (ch == '\n') break;      get(&ch);    }  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -