|

楼主 |
发表于 2022-9-15 16:06:56
|
显示全部楼层
本帖最后由 6YKT6ZKm5LqI 于 2022-9-15 17:14 编辑
给结构体指针t加了一个内存分配就又对了,搞不懂,明明fp也是结构体指针但是不需要分配内存也不报错
还是就按小甲鱼的写吧,不用多写一个内存分配
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- int main()
- {
- FILE *fp;
- struct tm *p;
- time_t *t;
- t = (time_t *)malloc(sizeof(time_t));
-
- if (t == NULL)
- {
- printf("分配内存失败!");
- exitt(1);
- }
- time(t);
- 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);
- fclose(fp);
-
- if ((fp = fopen("date.txt", "r")) == NULL)
- {
- printf("打开文件失败!\n");
- exit(EXIT_FAILURE);
- }
- int year, month, day;
- fscanf(fp, "%d-%d-%d", &year, &month, &day);
- printf("%d-%d-%d\n", year, month, day);
- fclose(fp);
- free(t);
- return 0;
- }
复制代码 |
|