C语言 已知文件中内容格式为(姓名、地址、时间) 张三 广州市XX路 2017-9-21,文件中的时间是通过库<time.h>中的函数以指针方式(如 time_t now;
struct tm *tm_now;time(&now) ;tm_now=localtime(&now) ;
fprintf(f,"%s %s %s %d.%d.%d\n",xx.name,xx.address,1900+tm_now->tm_year,1+tm_now->tm_mon,tm_now->tm_mday))写入文件,现在需要读取文件中的每行记录的时间信息并和系统当前的时间进行比较,比较结果返回为天数。
可能您不清楚我的意思。我的意思是我已存在的文件里比如有学生的信息(名字,地址,入学日期),现在我要读取文件中学生的入学日期,然后跟目前的系统日期比较,入校多少天
追答有点难度的就是日期比较, days函数就起到这个功能, 其它的从文件读取字符串, 截取入学日期, 这些自己写一下没什么问题吧
追问char buf_time[40]为学生注册时间,int day 存放时间差,strftime(buf_time,40,"%Y-%m-%d %H:%M:%S", tn_now)后赋值给stu.buf_time并写入文件file.txt,判断其时间是否与上次的时间相隔超一年,代码如:if(compare(f1,stu1){ if(days(stu1.buf_time)<=365) print("截止今天该学生入学已%d天",day);fscanf(f1,"%s%s%s",stu1.name,stu1.address,stu1.buf_time}(这样调用发现day一直是一个固定的天数且大于365及时间乱码)else
追答你能不能正确地从文件获取到学生的入学时间?
追问不能,我通过fscanf(f1,"%s%s%s",stu1.name,stu1.address,stu1.buf_time)读取时,时间显示的是烫烫烫烫烫烫
追答文件格式是怎么样的?