#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;
}
网友评论