请大神帮帮小白我的忙
帮帮忙哟~~~fread总是从读入不对,代码如下-0-
#include<stdio.h>
struct product
{
int num;
char name[10];
int price;
int totle;
char kind[10];
}pro[10];
void AddPro()
{
FILE *fp;
int i,j;
char confirm;
fp=fopen("product.txt","wb");
printf("|编号|名称|价格|总量|种类|\n");
scanf("%d%s%d%d%s",&pro[0].num,&pro[0].name,&pro[0].price,&pro[0].totle,&pro[0].kind);
if(fwrite(&pro[0],sizeof(product),1,fp)!=1)
printf("error");
for(i=1;i<4;i++)
{
printf("是否继续输入数据:y/n:");
scanf("%s",&confirm);
printf("\n");
if(confirm=='y')
{
printf("|编号|名称|价格|总量|种类|\n");
scanf("%d%s%d%d%s",&pro[i].num,&pro[i].name,&pro[i].price,&pro[i].totle,&pro[i].kind);
if(fwrite(&pro[i],sizeof(product),1,fp)!=1)
printf("录入到上限咯~\n");
}
}
fclose(fp);
}
void ShowPro()
{
int i=0;
FILE *fp;
fp=fopen("product.txt","rb");
for(i=0;i<4;i++);
{
fread(&pro[i],sizeof(product),1,fp);
printf("|编号|名称|价格|总量|种类|\n");
printf("%-2d%-11s%-5d%-5d%-5s\n",pro[i].num,pro[i].name,pro[i].price,pro[i].totle,pro[i].kind);
}
fclose(fp);
}
main()
{
AddPro();
ShowPro();
}
[解决办法]
判断下文件打开打开 写入是否成功!
在fread的时候也判断下文件fopen是否成功!
[解决办法]
单步调试看看。