首页 > 其他分享 >获取当前系统时间,把时间转换为特定格式”yy年mm月dd日 星期x ttmmss”,并每隔1s写入到本地磁盘中一个叫做log

获取当前系统时间,把时间转换为特定格式”yy年mm月dd日 星期x ttmmss”,并每隔1s写入到本地磁盘中一个叫做log

时间:2024-05-09 19:11:08浏览次数:15  
标签:1s temp mm dd 写入 tm file include

获取当前系统时间,把时间转换为特定格式”yy年mm月dd日 星期x tt:mm:ss”,并每隔1s写入到本地磁盘中一个叫做log.txt的文本中,如果文本不存在则创建。

/**
  * @function name:	main
  * @brief        : 获取当前系统时间,把时间转换为特定格式”yy年mm月dd日 星期x tt:mm:ss”,并每隔1s写入到本地磁盘中一个叫做log.txt的文本中,如果文本不存在则创建。 
  * @param  	  : argc
  				  : *argv[]
  * @retval       : int
  * @date         : 2024/05/09
  * @version      : 1.0  
  * @note         : None
  */
#include <time.h>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <strings.h>
#define BUFSIZE 128
int main(int argc, char const *argv[])
{ 
    //待拷贝文件的路径需要通过命令行传递,则需要分析命令行参数数量是否符合需求
    if(2 != argc)
    {
        printf("argument is invalid\n");
        return -1;
    }
    //打开目标文件(wb)
    FILE *file = fopen(argv[1],"wb");
    if(NULL == file)
    {
        perror("open file failed\n");
        return -1;
    }

    time_t temptime; //定义time_t类型变量
    struct tm *temp; //定义结构体指针用于将秒数转换为struct tm结构
    char *way[] = {"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};//定义指针数组存储星期
    char buf[BUFSIZE] = {0}; //定义缓冲区存储数据

   /无限循环
    while(1) 
    {
        time(&temptime);//获取1970至今的秒数,存入到temptime中
        temp = localtime(&temptime); //用localtime将秒数转换成struct tm类型
        sprintf(buf,"%d年%d月%d日%s %d:%d:%d\n",
                temp->tm_year+1900,
                temp->tm_mon+1,
                temp->tm_mday,
                way[temp->tm_wday],
                temp->tm_hour,
                temp->tm_min,
                temp->tm_sec);
        fputs(buf,file); //写入到目标文件中
        printf("file size = %ld\n",ftell(file));//查看目标文件的文本大小
        bzero(buf,BUFSIZE); //清空缓冲区
        //fflush(file);
        fclose(file); //关闭文件
        file = fopen(argv[1],"ab");//再次打开文件(ab)
        sleep(1); //延迟1秒
    }
    
    return 0;
}


标签:1s,temp,mm,dd,写入,tm,file,include
From: https://www.cnblogs.com/lwj294/p/18182936

相关文章

  • Embedding Whitening
    目录概主要内容BERT-FlowBERT-Whitening代码[1]LiB.,ZhouH.,HeJ.,WangM.,YangY.andLiL.Onthesentenceembeddingsfrompre-trainedlanguagemodels.ACL,2020.[2]SuJ.,CaoJ.,LiuW.andOuY.Whiteningsentencerepresentationsforbettersemant......
  • Addressrec:地址解析库
    在我们的日常工作中,特别是数据分析、地理信息系统(GIS)开发,或者在线零售等行业中,经常会遇到处理包含地址信息的文本数据这个棘手的任务。面对大量规格不统一,格式不一致的非结构化地址数据,想要从中快速地提取分级地址、联系人、电话等,简直就是不可能完成的任务。即使费九牛二虎......
  • 2024 ICPC National Invitational Collegiate Programming Contest, Wuhan Site
    目录写在前面IBKFMEDC写在最后写在前面补题地址:https://codeforces.com/gym/105143正式赛全程犯大病打铜了呃呃,以下按个人向难度排序。AIEEEEE!忍者为何!队长=san实际战犯!罪罚罪罚罪罚罪罚罪罚罪罚罪罚罪罚罪罚罪罚罪罪罚罪罚罪罚罪罚罪罚罪罚罪罚罪罚罪罚罪罚罪罚罪罚罪罚罪罚......
  • 文本向量化模型acge_text_embedding
    1.背景文本向量化模型是自然语言处理(NLP)中的一项核心技术,它可以将单词、句子或图像特征等高维的离散数据转换为低维的连续向量,从而将文本数据转换为计算机能够处理的数值型向量形式。当文本信息被转换为向量形式后,输出的结果能够进一步地为多种后续任务提供有力支持,例如:搜索、聚......
  • git merge指定提交(commit)
    第一种idea图形化界面操作1.首先切换到要合并提交的分支上(即没有这些提交的分支)2.在git提交log里选有这些提交的分支,并将提交捡出有多个提交的话就cherrypick多个提交就行,最后一起push 3.gitpush ......
  • SystemVerilog -- 11.1 SystemVerilog Immediate Assertions
    SystemVerilogImmediateAssertionsImmediateAssertions基于模拟事件语义执行,并且需要在过程块中指定。在模拟过程中,它的处理方式与语句中的表达式相同。if如果表达式在执行语句时为true,则ImmediateAssertions将通过,如果表达式的计算结果为false(X、Z或0),则ImmediateAsserti......
  • 设计程序,获取当前系统时间,把时间转换为特定格式”yy年mm月dd日 星期x tt:mm:ss”,并每
      设计程序,获取当前系统时间,把时间转换为特定格式”yy年mm月dd日星期xtt:mm:ss”,并每隔1s写入到本地磁盘中一个叫做log.txt的文本中,如果文本不存在则创建。/********************************************************************* filename: getime.c* author :......
  • 编程:java 发送email程序:通用版本:借鉴“蚂蚁小哥 <[email protected]>”的文章
     1packagecom.alibaba.otter.canal.adapter.launcher.loader;23importjava.text.SimpleDateFormat;4importjava.util.*;5importjavax.mail.*;6importjavax.mail.internet.*;78publicclassJavaxJavaMailClient{910private......
  • Apache Commons Collections反序列化漏洞
    目录复现环境准备POC漏洞原理分析构造反射链TransformedMap利用链ApacheCommonsCollections的反序列化漏洞在2015年被曝光,引起了广泛的关注,算是java历史上最出名同时也是最具有代表性的反序列化漏洞。复现环境准备jdk1.7版本下载压缩包链接:https://pan.baidu.com/s/......
  • 你知道什么是 MySQL Online DDL 吗?
    前言MySQL在进行DDL操作时,可能会产生表锁导致阻塞,影响用户的DML操作,而OnlineDDL指的是在DDL期间,允许用户进行DML操作。本文将详细讲解MySQL各版本的OnlineDDL。关于什么是DDL和DML操作,详细介绍见MySQL操作命令总结。1.什么是OnlineDDLOnlineDDL功......