SaleRecord *current = sale_records; while (current != NULL) { printf("销售员编号: %d 产品编号: %d 产品的销售额: %.2f\n", current->salesperson_id, current->product_id, current->sales_amount); current = current->next; } SaleRecord *p = sale_records->next; FILE *fp; //新建文件指针 if (sale_records == NULL || sale_records->next == NULL) //判断当前链表里是否有数据(是否只有头节点),也可能没建头节点 printf("链表无数据,无法写入!\n"); else { if ((fp = fopen("销售管理系统设计.txt", "w")) == NULL) { //用写的方式打开文件销售管理系统设计.txt(相对引用) printf("无法打开文件,请检查!\n"); //判断是否正确打开该文件 exit(0) ; p = sale_records->next; //head指向链表的第一个数据节点 while (p != NULL) { //若head没有到最后一个节点,则继续写入 fprintf(fp, "%d %d %.2f ", p->salesperson_id, p->product_id, p->sales_amount); //将p所指向节点中的数据写入文件 p = p->next; //head指向链表的下一个节点 } printf("数据写入完毕\n"); //输出提示性语句 fclose(fp); }
给个建议