演習 13-12

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

char data_file[] = "datetime.bin";

void get_data(){
    FILE *fp;

    if((fp = fopen(data_file, "rb")) == NULL){
        printf("本プラグラムを実行するのは初めてですね\n");
    }else{
        int year, month, day, h, m, s;

        fscanf(fp, "%d%d%d%d%d%d", &year, &month, &day, &h, &m, &s);
        printf("前回は%d年%d月%d日%d時%d分%d秒でした\n", year, month, day, h, m, s);

        fclose(fp);
    }
}

void put_data(){
    FILE *fp;
    time_t current = time(NULL);
    struct tm *timer = localtime(&current);

    if((fp = fopen(data_file, "wb")) == NULL){
        printf("ファイルをオープンできません\n");
    }else{
        fprintf(fp, "%d %d %d %d %d %d\n", timer->tm_year + 1900, timer->tm_mon + 1, timer->tm_mday, timer->tm_hour, timer->tm_min, timer->tm_sec);
        fclose(fp);
    }
}

int main(){

    get_data();

    put_data();

    return 0;
}

1 件のコメント:

  1. freadとfwriteを使わないとバイナリで書き込めないのではないでしょうか。

    返信削除