头部互动开始 -->

文件IO—在文件中每隔一秒写入当前时间

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

/********************************************************************
*          
*          file name:       文件IO作业.md
*          author:         15070884254@163.com 
*          date:            2024年5月9日
*          function:        每隔一秒向logt.xt文本写入当前系统时间
*          note:           none
*
*        CopyRight (c)      15070884254@163.com      All Right Reseverd     
*          
********************************************************************/




#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <unistd.h>

/*****************************************************************************
*                 函数名称:     UpdateFtime
*                 函数功能:    输出当前时间
*                 函数参数:	   FILE* file
*                 返回结果:    NONE
*                 注意事项:    NONE
*                 函数作者:    15070884254@136.com 
*                 创建日期:    2024年5月9日
*                 修改历史:    2024年5月9日
*                 函数版本:    1.0
*
*****************************************************************************/

void  UpdateFtime(FILE* file)
{
     //通过已知time()函数获取时间
    time_t Gettime = time(NULL);

    //将秒时间转换为年月日等
    struct tm * fileTime = localtime( &Gettime );

    //把时间转换为格式“yy年mm月dd日 星期x tt:mm:ss”
    fprintf(file,"%d年%d月%d日    星期%d    %02d:%02d:%02d\n",     fileTime->tm_year + 1900,
                                                           fileTime->tm_mon + 1,
                                                           fileTime->tm_mday,
                                                           fileTime->tm_wday,
                                                           fileTime->tm_hour,
                                                           fileTime->tm_min,
                                                           fileTime->tm_sec);
    
	//进行刷新
    fflush(file);
   
}


int main(int argc ,const char* arvg[])
{
    int i = 0;
   //判断传入的参数是否符合
    if (2 != argc)
    {
        printf("Argument is invaild!\n");
        exit(1);
    }
   //打开待写入文件(wb),如果文件不存在,wb+能够帮助创建
    FILE *fp = fopen(argv[1],"wb+");
    if (NULL == fp)
    {
        printf("Fopen %s is error!\n",argv[1]);
        exit(1);
    }
	//循环写入
    while(1){
            UpdateFtime(file); 
            printf("program has run %d秒\n", i++);
			//每隔一秒进行打印输出
            sleep(1);
    }
    //关闭文件
    fclose(file);

    return 0;
}
posted @   罗天天  阅读(50)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示