关于C语言读取CSV表头的问题

运行的时候表头会有乱码并且第一条记录缺了一点点
我先用了fgets读了表头的内容,再用fscanf读记录 不知道为啥会出现这样的情况
图片说明
还有最后出现了屯屯屯屯
图片说明
求大神!!ORZ
第一次提问 有点不会粘代码(。。)

 typedef struct student
{
char number[10];
char name[10];
int Chinese;
int Math;
int English;
int Sum;
struct student *next;
}student, *pStudent;
void display(student *p)
{
student *psr=p;
printf("number:%s , name=%s , Chinese: %d , Math: %d , English: %d, Sum: %d",psr->number,psr->name,psr->Chinese,psr->Math,psr->English,psr->Sum);
}
void consultrecord(student *studentrecord)
{
student *psr=studentrecord;
while(psr!=NULL)
{
display(psr);
}
}
int main()
{
char a[40];
char stsystem="F://datastructure//studentimformation.csv";
//readRecord(stsystem);
FILE *fpSystem=fopen(stsystem,"r");
FILE *ftest=fopen("F://datastructure//test.csv","w");
if(fpSystem==NULL)
{
printf("\nError: Cannot open the system file!");
}
else 
{
printf("欢迎来到XX大学学生管理系统");
printf("\t\t\t\t\t\t\t\t-------------------------------------------------\n");

printf("\t\t\t\t\t\t\t\t+ 学生信息管理系统 +\n");

printf("\t\t\t\t\t\t\t\t-------------------------------------------------\n");

printf("\t\t\t\t\t\t\t\t\t\t **************\n");

printf("\t\t\t\t\t\t\t\t\t\t 1、添加学生信息\n");

printf("\t\t\t\t\t\t\t\t\t\t 2、浏览学生信息\n");

printf("\t\t\t\t\t\t\t\t\t\t 3、查询学生信息\n");

printf("\t\t\t\t\t\t\t\t\t\t 4、修改学生信息\n");

printf("\t\t\t\t\t\t\t\t\t\t 5、删除学生信息\n");

printf("\t\t\t\t\t\t\t\t\t\t 6、排列学生信息\n");

printf("\t\t\t\t\t\t\t\t\t\t 7、读取文件学生\n"); //从文件读取

printf("\t\t\t\t\t\t\t\t\t\t 8、保存到文件\n"); //保存到文件

printf("\t\t\t\t\t\t\t\t\t\t 9、退出系统\n");

student *studentrecord=(student *)malloc(sizeof(student));
student *pstudent=studentrecord;
char watse[40];
char str[]="number,name,Chinese,Math,English,sum";
fgets(watse,strlen(str)+1,fpSystem);
printf("%s",watse);
while(1)
{
if(fscanf(fpSystem,"%[^','],%[^','],%d,%d,%d,%d",pstudent->number,pstudent->name,&pstudent->Chinese,&pstudent->Math,&pstudent->English, &pstudent->Sum)==-1)
{
pstudent->next=NULL;
break;
}
        fprintf(ftest,"%s,%s,%d,%d,%d,%d,%d\n",pstudent->number,pstudent->name,pstudent->Chinese,pstudent->Math,pstudent->English,pstudent->Sum);
        printf("%s,%s,%d,%d,%d,%d\n",pstudent->number,pstudent->name,pstudent->Chinese,pstudent->Math,pstudent->English,pstudent->Sum);

        pstudent->next=(student *)malloc(sizeof(student));
        pstudent=pstudent->next;
    }

    fclose(fpSystem);
    fclose(ftest);
    int usercode;
    scanf("%d",&usercode);
    switch (usercode)
    {
    case 2: consultrecord(pstudent);
        break;
    }
}

return 0;
}

屯子的出现,说明了里面没有数据,而你又打印了一遍。。。

 char stsystem[]="F://datastructure//studentimformation.csv";
//readRecord(stsystem);
FILE *fpSystem=fopen(stsystem,"r");

    char watse[40];
    char str[]="number,name,Chinese,Math,English,sum";
    fgets(watse,strlen(str)+1,fpSystem);
    printf("%s",watse);

// 看你的文件里面 是不是有乱码问题。。。