为什么无法将结构体中的内容写入文件?(C语言)
#include<stdio.h>#include<malloc.h>structStudent{charname[6];charsex[3];intstuID;intC...
#include<stdio.h>#include<malloc.h>struct Student{ char name[6]; char sex[3]; int stuID; int ClassID;};int main(){ void save(Student *stu,int number); int number,count = 0,count2 = 0; printf("请输入学生人数:"); scanf("%d",&number); Student *stu =(Student *)malloc(sizeof(stu)*number); stu[count].stuID =2015108000; printf("\n Name sex ClassID\n--------------------------\n"); do { printf("第%d人:",count+1); scanf("%s",&stu[count].name); scanf("%s",&stu[count].sex); stu[count].stuID = stu[0].stuID + count; scanf("%d",&stu[count].ClassID); count+=1; }while(count < number); save(stu,number);/* 调用函数 */ return 0;}void save(Student *stu,int number){ int count=0; FILE *fp; fp = fopen("E:\\student.txt","w+"); do{ fprintf(fp,"%s, %s, %d, %d",stu[count].name,stu[count].sex,stu[count].stuID,stu[count].ClassID); fputc('\n',fp); count+=1; }while(count < number); fclose(fp);}
展开
展开全部
创建一个文件,然后用fprintf按照自想要的格式输入进去
追问
创建了文件的,还是这种情况
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这里错了
Student *stu =(Student *)malloc(sizeof(stu)*number); //sizeof(stu)错了
改成:
Student *stu =(Student *)malloc(sizeof(Student)*number);
Student *stu =(Student *)malloc(sizeof(stu)*number); //sizeof(stu)错了
改成:
Student *stu =(Student *)malloc(sizeof(Student)*number);
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询