读写文件2

2021-10-30  本文已影响0人  lxr_
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

//格式化读写文件,fscanf和fprintf(文件),类似于scanf和printf(终端),只不过参数多了一个文件指针,输入输出位置不一样

//*******实验:向文件写入当前日期,再进行读取*********
int main(int argc, char** argv)
{
    //**********写入*************
    FILE* fp;
    struct tm* p;    //tm为表示时间的结构体
    time_t t;
    time(&t);        //使用time函数获取时间,返回的是秒数
    
    p = localtime(&t); //转换为日期格式

    if ((fp = fopen("date.txt", "w")) == NULL)  //以写方式打开
    {
        printf("打开文件失败\n");
        exit(EXIT_FAILURE);
    }

    fprintf(fp, "%d-%d-%d", 1900+p->tm_year, 1+p->tm_mon, p->tm_mday);//格式化写入,tm_year表示1900年后的第几年,tm_mon表示第几个月(0-11),tm_mday表示一个月的第几天(1-31)

    fclose(fp);

    //************读取*************
    int year, month, day;
    if ((fp = fopen("date.txt", "r")) == NULL)  //以读方式打开
    {
        printf("打开文件失败\n");
        exit(EXIT_FAILURE);
    }
    fscanf(fp, "%d%d%d", &year, &month, &day);  //格式化读取文件中的数据
    printf("%d-%d-%d", year, month, day);       //打印时间
    fclose(fp);

    system("pause");
    return 0;
}
上一篇 下一篇

猜你喜欢

热点阅读