文件IO中基础操作

打开或新建文件循环记录系统时间

/*******************************************************************
 *
 *	文件名称  :	文件I/O中记录系统时间
 *	文件作者  : mailLinL@163.com
 *	创建日期  :  2024/05/09
 *	文件功能  :  打开或创建文件,并向文件中写入系统时间
 *	注意事项  :  None
 *
 *	CopyRight (c)  2024   mailLinL@163.com   All Right Reseverd
 *
 * *****************************************************************/

头文件包含

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

自定义函数接口

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

/*******************************************************************
 *
 *	函数名称:	TimeWriter
 *	函数功能:	向文件中写入系统时间,文件不存在时自动创建
 *	函数参数:	none
 *	返回结果:
 *				@dest   文件流地址指针
 *	注意事项:	None
 *	函数作者:	mailLinL@163.com
 *	创建日期:	2024/05/09
 *	修改历史:
 *	函数版本:	V1.0
 * *****************************************************************/
void TimeWriter(FILE *dest)
{
    //定义变量储存time函数返回的秒数,并使用localtime函数转换成当前的系统时间
    long int data = 0;
    struct tm *now = (struct tm *)calloc(1, sizeof(struct tm *));
    if (NULL == dest)
    {
        printf("file open error\n");
        exit(1);
    }
    while (1)
    {
        data = time(NULL);
        now = localtime(&data);
        fprintf(dest, "%d年%02d月%02d日-%d-%02d-%02d-%02d\n", now->tm_year + 1900, now->tm_mon + 1, now->tm_mday, now->tm_wday, now->tm_hour, now->tm_min, now->tm_sec);
        usleep(500000);
    }
}

主函数中调用测试

int main(int argc, char const *argv[])
{
    // 判断命令行输入的参数是否有效
    if (2 != argc)
    {
        printf("argument is error!\n");
        exit(1);
    }
    // 判断文件地址是否有效
    if (NULL == argv[1])
    {
        perror("File open if error!");
        exit(1);
    }
    // 以追加方式打开一个log.txt文件,间隔1s将系统时间写入文件中
    FILE *dest = fopen("log.txt", "ab");
    TimeWriter(dest);
    return 0;
}
posted @   林大官人995  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示