我正在尝试写入student.dat文件。我的问题是当我第二次写第一次我的第一个数据正在清理时。请帮助我
student st;
FILE* fp = fopen("d:\\student.dat", "w");
//fseek(fp,0,SEEK_SET);
st.getdata();
fwrite((char *) &st,sizeof(student),1,fp);
fclose(fp);
printf("\n\nStudent record Has Been Created ");
fflush(stdin);
getch();
答案 0 :(得分:5)
尝试追加模式:
FILE* fp = fopen("d:\\student.dat", "a");
w
模式覆盖文件:“为输出操作创建一个空文件。如果已存在同名文件,则丢弃其内容,并将该文件视为新的空文件。”
答案 1 :(得分:2)
http://www.cplusplus.com/reference/cstdio/fopen/
FILE* fp = fopen("d:\\student.dat", "w");
应该是
FILE* fp = fopen("d:\\student.dat", "a"); // a for append