c语言 13 - 5

1、

复制代码
#include <stdio.h>
#include <time.h>

char filename[] = "timedata.dat";

void put_dat(void)
{
    FILE *fp;
    
    if((fp = fopen(filename, "r")) == NULL)
        printf("\aThe program is running for the first time.\n");
    else
    {
        int year, month, day, hour, min, sec;
        char mood[128];
        fscanf(fp, "%d%d%d%d%d%d%s", &year, &month, &day, &hour, &min, &sec,mood);
        printf("The last time the program ran is: %d-%d-%d-%d-%d-%d.\nThe mood in that time is: %s\n", year, month, day, hour, min, sec, mood);
        
        fclose(fp);
    }
}

void get_dat(void)
{
    FILE *fp;
    
    time_t current = time(NULL);
    struct tm *timer = localtime(&current);
    char mood[128];
    printf("Please input the mood in this time: "); scanf("%s", mood);
    
    if((fp = fopen(filename,"w")) == NULL)
        printf("\aFile open failed.\n");
    else
    {
        fprintf(fp, "%d %d %d %d %d %d %s\n", timer -> tm_year + 1900, timer -> tm_mon + 1, timer -> tm_mday,
        timer -> tm_hour, timer -> tm_min, timer -> tm_sec, mood);
        fclose(fp);
    }        
}

int main(void)
{
    put_dat();
    get_dat();
    
    return 0;
}
复制代码

 

 

 

2、

复制代码
#include <stdio.h>
#include <time.h>

char filename[] = "timedata.dat";
char mood[128];

void put_dat(void)
{
    FILE *fp;
    
    if((fp = fopen(filename, "r")) == NULL)
    {
        printf("\aThe program is running for the first time.\n");
        printf("Please input the mood in this time: "); scanf("%s", mood);
    }
    else
    {
        int year, month, day, hour, min, sec;
        fscanf(fp, "%d%d%d%d%d%d%s", &year, &month, &day, &hour, &min, &sec, mood);
        printf("The program ran in last time is: %d-%d-%d-%d-%d-%d.\nThe mood at that time is: %s\n", year, month, day, hour, min, sec, mood);
        printf("please input the mood at this time: "); scanf("%s", mood);
        fclose(fp);
    }
}

void get_dat(void)
{
    FILE *fp;
    
    time_t current = time(NULL);  //time函数获取日历时间 
    struct tm *timer = localtime(&current); //localtime函数获取分解时间 
    
    if((fp = fopen(filename, "w")) == NULL)
    {
        printf("\aFile open failed.\n");
    }
    else
    {
        fprintf(fp, "%d %d %d %d %d %d %s\n", timer -> tm_year + 1900, timer -> tm_mon + 1, timer -> tm_mday,
        timer -> tm_hour, timer -> tm_min, timer -> tm_sec, mood);
        fclose(fp);
    }         
}

int main(void)
{
    put_dat();
    get_dat();
    
    return 0;    
} 
复制代码

 

 

 

posted @   小鲨鱼2018  阅读(76)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2020-06-08 linux系统中将文本中多个空格或多个tab转化为一个空格的命令
点击右上角即可分享
微信分享提示