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

📄 today.c

📁 open arj source
💻 C
字号:
/* * $Id: today.c,v 1.3 2003/06/22 11:12:28 andrew_belov Exp $ * --------------------------------------------------------------------------- * A utility to produce locale-dependent timestamps instead of __TIME__. * */#include "environ.h"#include "filemode.h"#include <time.h>/* Date array */static char *months_en[]={"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul",                          "Aug", "Sep", "Oct", "Nov", "Dec"};/* Main routine */int main(int argc, char **argv){ char date_sig[40], f_date[120]; char out_name[CCHMAXPATH]; time_t cur_unixtime; struct tm *stm; FILE *stream; int is_new=0; char *p; int l; printf("TODAY v 1.22  [29/10/2000]  Not a part of any binary package!\n\n"); if(argc<3) {  printf("Usage: TODAY <locale> <base_dir>\n"         "Where: <locale> is one of the known locales,\n"         "     <base_dir> is base directory name\n");  exit(1); } strcpy(out_name, argv[2]); l=strlen(out_name)-1; if(out_name[l]!=PATHSEP_DEFAULT) {  out_name[++l]=PATHSEP_DEFAULT;  out_name[++l]='\0'; } strcat(out_name, "date_sig.c"); cur_unixtime=time(NULL); stm=localtime(&cur_unixtime); if(!stricmp(argv[1], "en"))  sprintf(date_sig, "[%02d %s %04d]", stm->tm_mday, months_en[stm->tm_mon], stm->tm_year+1900); else if(!stricmp(argv[1], "fr"))  sprintf(date_sig, "[%d.%d.%04d]", stm->tm_mday, stm->tm_mon+1, stm->tm_year+1900); else if(!stricmp(argv[1], "de"))  sprintf(date_sig, "[%02d.%02d.%04d]", stm->tm_mday, stm->tm_mon+1, stm->tm_year+1900); else if(!stricmp(argv[1], "ru"))  sprintf(date_sig, "[%02d/%02d/%04d]", stm->tm_mday, stm->tm_mon+1, stm->tm_year+1900); else  sprintf(date_sig, "[%02d-%02d-%04d]", stm->tm_mday, stm->tm_mon+1, stm->tm_year+1900); if((stream=fopen(out_name, m_r))==NULL)  is_new=1; else {  if(fgets(f_date, sizeof(f_date), stream)==NULL)   is_new=1;  else if((p=strchr(f_date, '\"'))==NULL)   is_new=1;  else if(memcmp(p+1, date_sig, min(strlen(date_sig), strlen(p+1))))   is_new=1;  fclose(stream); } if(is_new) {  if((stream=fopen(out_name, m_w))==NULL)  {   printf("Failed to open %s\n", out_name);   exit(2);  }  fprintf(stream, "char build_date[]=\"%s\";\n", date_sig);  fclose(stream); } return(0);}

⌨️ 快捷键说明

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