这个应该是楼主想要的效果 又不是写入二进制数据 干什么要用fwrite。。。。。
而且你这代码太规范了 我看不懂。。。。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define size 1
struct MyStruct{
char name[10];
int num;
int cj;
}stu[size];
int main(void)
{
int i;
FILE *fp;
fp=fopen("D:\\student.dat","wb+");
if(!fp)
printf("打开文件出错");
else if(!feof(fp))
{
for(i=0;i<2;i++)
{
strcpy(stu[i].name,"");
scanf("%s",stu[i].name);
scanf("%d",&stu[i].num);
scanf("%d",&stu[i].cj);
/* 输出数据 并换行 */
fprintf(fp,"%s\r\n%d\r\n%d\r\n",stu[i].name,stu[i].num,stu[i].cj);//你也不能输入二进制数据 没必要用fwrite
}
fclose(fp);
}
}
|