C语言链表文件存储多出乱行

void keep(A *head)
{
  FILE *fp;
  A *cur = head->next;

  if ((fp = fopen("E:\\information.txt", "wb")) == NULL)
    printf("Save default!!!\n");
  while (cur)
  {
    fprintf(fp, "%d,%s,%s,%f,%f,%f,%f,%d\n ", cur->identifer, cur->name, cur->nature, cur->time_sum, cur->time_lesson, cur->time_practice, cur->credit, cur->term);
    cur = cur->next;
  }
  fclose(fp);
  printf("存档成功!\n");
}

 

应该是内存链表中的数据本森有问题。字符串的数据。