麻烦各位大神帮我看看为什么读不出文件里的内容
题目是在数据文件day.txt中存放了环境保护相关纪念日信息,读取相关信息,显示其星期值以及当年该纪念日的星期值
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<time.h>
int main()
{
FILE *fp;
fp=fopen("day.txt","r");
int y,m,d;
char name[10];
time_t timep;
struct tm*p;
time(&timep);
p=gmtime(&timep);
fscanf(fp,"%s,%d,%d,%d",name,&y,&m,&d);
printf("%s:%d--%d\n",name,y,1900+p->tm_year);
printf("%d年%d月%d日\n",y,m,d);
printf("%d年%d月%d日\n",1900+p->tm_year,1+p->tm_mon,p->tm_mday);
fclose(fp);
return 0;
}
txt文件内容如下
程序要求输出如下图
实际输出
文件是怎么生成的,可以考虑定义结构体,保存结构体,读出来也是结构体。
我看你文件的定义时先整数然后才到字符串,但是你
fscanf(fp,"%s,%d,%d,%d",name,&y,&m,&d);这里却是先字符串再到整数,这样读取到的数据就反了吧。
然后你文件中是使用空格隔开的,但是你这里用的是逗号隔开,这样也会有问题。
fscanf(fp,"%d %d %d %s", &y,&m,&d, name); 改成这样试试。
您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632