首页 > 其他分享 >格式化时间文本写入

格式化时间文本写入

时间:2024-05-09 10:35:12浏览次数:18  
标签:11 10 格式化 05 09 写入 2024 str 文本

**设计程序,获取当前系统时间,把时间转换为特定格式”yy年mm月dd日 星期x tt:mm:ss”,并每隔1s写入到本地磁盘中一个叫做log.txt的文本中,如果文本不存在则创建。** 
/**
 * file name:format_time_text_writing.c
 * author   : [email protected]
 * date     : 2024-05-08
 * function : Writing format time to text every second interval
 * note     : None
 * CopyRight (c)   2024  [email protected]  Right Reseverd
 *
**/
#include<stdio.h>
#include <time.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
/**
 *
 * func name      : NUm2Chinese
 * function       : Transform number to chinese
 * parameter      : 
 *                      @num :Arabic number
 *						@str :Address pointed to string stored chinese
 * Return val      : Chinese string
 * note            : None
 * author          : [email protected]
 * date            : 2024-05-08
 * version         : V1.0
 * modify history  : None
 *
**/
char* NUm2Chinese(int num,char *str)
{
    switch (num)
    {
        case 1: str="一";   break;
        case 2: str="二";   break;
        case 3: str="三";   break;
        case 4: str="四";   break;
        case 5: str="五";   break;
        case 6: str="六";   break;
        case 0: str="天";   break;
    }
    return str;
}
int main(int argc, char const *argv[])
{
    //定义一个time_t数据类型的指针作为函数localtime()的形参用来接收时间
    time_t ptime;
    //定义一个结构体指针接受函数localtime()的返回值
    struct tm  *ptm;
    //定义一个log.txt文件的文件指针
    FILE *pf=fopen("log.txt","w+b");
    FILE *pftemp=fopen("logtemp.txt","w+b");
    if (NULL==pf)
    {
        perror("fopen file fail\n");
        exit(1);
    }   

    int i=10;           //计算循环时间次数
    char buftime[50];   //存放格式化的时间字符串
    while(i--)
    {
        //获取当前时间戳
        time(&ptime);
        //把时间戳转化为可读的时间,获取tm结构体的成员信息
        ptm=localtime(&ptime);

        //写入文件方法一
        //用strftime函数函数把格式化的时间写入字符串buftime 
        strftime(buftime,50,"时间: %Y年%m月%d日 星期%w %X\n",ptm);
        //把格式化的字符串写入文本log.txt中
        fwrite(buftime,strlen(buftime),1,pf);

        //写入文件方法二
        //用fprintf函数函数格式化输出写入文本logtemp.txt 
        char *str;  //存放星期数的中文数字
        fprintf(pftemp,"%d年%02d月%02d日 星期%s %02d:%02d:%02d\n",
                ptm->tm_year+1900,
                ptm->tm_mon+1,
                ptm->tm_mday,
                NUm2Chinese(ptm->tm_wday,str),
                ptm->tm_hour,
                ptm->tm_min,
                ptm->tm_sec              );
        //printf("%s\n",buftime);
        //清空数组
        bzero(buftime,50);
        //刷新缓冲区,实时输入文本
        fflush(pf);
        fflush(pftemp);
        //延时一秒
        sleep(1);

    }

    //关闭文件
    fclose(pf);
    fclose(pftemp);

    return 0;
}

运行结果:

写入方法一:利用函数strftime()保存格式化的时间,再利用函数 fwrite()写入文本

log.txt文本结构

时间: 2024年05月09日 星期4 10:11:44
时间: 2024年05月09日 星期4 10:11:45
时间: 2024年05月09日 星期4 10:11:46
时间: 2024年05月09日 星期4 10:11:47
时间: 2024年05月09日 星期4 10:11:48
时间: 2024年05月09日 星期4 10:11:49
时间: 2024年05月09日 星期4 10:11:50
时间: 2024年05月09日 星期4 10:11:51
时间: 2024年05月09日 星期4 10:11:52
时间: 2024年05月09日 星期4 10:11:53

写入方法二:利用函数fprintf()格式化输出到文本

logtemp.txt文本结构

2024年05月09日 星期四 10:11:44
2024年05月09日 星期四 10:11:45
2024年05月09日 星期四 10:11:46
2024年05月09日 星期四 10:11:47
2024年05月09日 星期四 10:11:48
2024年05月09日 星期四 10:11:49
2024年05月09日 星期四 10:11:50
2024年05月09日 星期四 10:11:51
2024年05月09日 星期四 10:11:52
2024年05月09日 星期四 10:11:53

标签:11,10,格式化,05,09,写入,2024,str,文本
From: https://www.cnblogs.com/JinBool/p/18181565

相关文章

  • 文本向量化模型acge_text_embedding
    1.背景文本向量化模型是自然语言处理(NLP)中的一项核心技术,它可以将单词、句子或图像特征等高维的离散数据转换为低维的连续向量,从而将文本数据转换为计算机能够处理的数值型向量形式。当文本信息被转换为向量形式后,输出的结果能够进一步地为多种后续任务提供有力支持,例如:搜索、聚......
  • 设计程序,获取当前系统时间,把时间转换为特定格式”yy年mm月dd日 星期x tt:mm:ss”,并每
      设计程序,获取当前系统时间,把时间转换为特定格式”yy年mm月dd日星期xtt:mm:ss”,并每隔1s写入到本地磁盘中一个叫做log.txt的文本中,如果文本不存在则创建。/********************************************************************* filename: getime.c* author :......
  • (一)文本分类经典模型之CNN篇
    CNN源于计算机视觉研究,后来诸多学者将其应用于短文本分类,其基本结构如下图所示:由上图可知,基于CNN的短文本分类模型,通常包括输入层、卷积层、池化层、全连接层和输出层五部分,其中卷积层和池化层是最为关键的特征提取环节。卷积层通过构造二维卷积核,并将其上下移动,在卷积窗口内与......
  • shell 获取文本特定行数据
    在Shell脚本中获取文件的特定行数据,尤其是获取第N行数据,有多种方法。以下是几种常见且简便的方法:使用sed命令:如果你想获取文件的第N行,可以使用sed命令,其中N是你想获取的行号。sed-n'Np'filename例如,获取第5行:sed-n'5p'filename结合使用head和tail命令:这是一种......
  • string:Python的文本常量与字符串模板
    前言在程序中,有很多高效率的字符串处理方式,如果开发者能够完全掌握这些高效的字符串处理,往往在开发者也能事半功倍。比如针对于字符串的处理,也是自然语言处理的基础知识。而python3中,处理字符串的库为:string。本篇将详细介绍各种字符串的高效处理方式。首字母大写对于英文单词......
  • textwrap:Python格式化文本段落
    前言前文是针对普通的字符串数据进行处理。今天,我们要讲解的textwrap库,是对多文本进行处理的库。比如对于段落的缩进,填充,截取等,都可以通过textwrap库进行操作。特别是自己编写打印程序的时候,可以使用该库进行校正文档非常便捷,大大的加快了文本格式的处理。话不多说,我们来一步步......
  • Rich:终端打印富文本
    Rich——一个让程序更高级的Python库在这个多彩缤纷的数字时代,命令行界面似乎太过单调乏味。想象一下,如果你的终端输出能够像现代网页一样丰富多彩,是不是会带给你更愉快的开发体验?这时,一个强大的库——Rich——悄然走进了你的视野。它让颜色和样式的添加变得异常简单,不仅......
  • python写入文件
    importjsonimportosimportrandomimporttimefromopenpyxlimportload_workbookimportrequestsfromopenpyxlimportWorkbookurl='https://www.picchealth.com/eportal/ui?moduleId=9bd0917443454517a791cc11fdaddfae&struts.portlet.action=/portle......
  • 读取PDF文件,并写入excel表
    importrefromopenpyxlimportWorkbookpdf_name='D:/beifangzhongzhi/zhongye/百保科技/疾病/疾病.pdf'importPyPDF2defget_text(pdf_name):withopen(pdf_name,'rb')asfile:reader=PyPDF2.PdfReader(file)num_pages=......
  • 在Gitlab Runner中调用Web Api写入Directory.Build.props需要的版本号文件
    摘要本文介绍了在Windows上的GitlabRunner,如何调用webapi更新版本号定义文件。PowerShellfunctionUpdate-Version{ param( [string]$WEB_API_URL, [string]$NAMESPACE, [string]$VERSION_ID )echo"能生成或写入.props文件的webapi的网站地址:"$WEB_API_URLe......