如何用C语言将一份txt的文件处理并赋值进行数据处理?

如图

img


这一份数据,我希望将时间具体处理成Y,M,D,H,N,S并进行统一的计算

但是读取文件是如何统一处理呢?麻烦具体说明一下每一步的意思谢谢

计算的函数为
int mjd(double Y, double M, double D, double h, double N, double S )
{
double mjd;
double a,b,c;
a = (M + 9) / 12;
b = 7 / 4 * a;
c = (275 * M)/9;
mjd = -678967 + 367 * Y-b-c+D+h/24+N/1440+S/86400;
return mjd;

}

6项数据定义一个数据结构,然后逐行读取
b = 7 / 4 * a; 这个不对,7/4是整除,等于1。改为b = 7.0/4 * a;
文本标题栏多了个x,实际是5项数据
大概这样子(未调试)

#include <stdio.h>
typedef struct _carInfo
{
    char id[10];
    int status;
    long long time;
    double x;
    double y;
}carInfo;
void getHMS(long long time,int *year,int *month,int *day,int *h,int *m,int *s)
{
    *s = time%100;
    time  =time/100;
    *m = time%100;
    time = time/100;
    *h = time%100;
    time  =time/100;
    *day = time%100;
    time = time/100;
    *month = time%100;
    *year = time/100;
}
int mjd(double Y, double M, double D, double h, double N, double S )
{
double mjd;
double a,b,c;
a = (M + 9) / 12;
b = 7.0 / 4 * a;
c = (275 * M)/9;
mjd = -678967 + 367 * Y-b-c+D+h/24+N/1440+S/86400;
return mjd;

}
int main()
{
    carInfo car[1000] = {0};
    int nNum = 0,i,year,month,day ,h,m,s;
    FILE *fp = fopen("test.txt","r");
    if(fp != NULL)
    {
        while(!feof(fp))
        {
            fscanf(fp,"%s,%d,%lld,%lf,%lf",car[nNum].id,&car[nNum].status,&car[nNum].time,&car[nNum].x,&car[nNum].y);
            if(car[nNum].x > 0)
                nNum++;
        }
        fclose(fp);
    }
    for(i=0;i<nNum;i++)
    {
        getHMS(car[i].time,&year,&month,&day,&h,&m,&s);
        printf("%d\n",mjd(year,month,day,h,m,s));
    }
    return 0;
}