fwrite()问题
#include "stdio.h"#include"ctype.h"
#include"string.h"
#include"stdlib.h"
struct spp
{
char bh[10];
char mc[10];
};
void main()
{
FILE *p;
char name[100];
char a;
int shu;
struct spp sp;
printf("1.新创文件夹 2.打开旧的文件 3退出:");
scanf("%d",&shu);
fflush(stdin);
if(shu==1)
{
printf("\n请输入新创文件夹的路径:");
gets(name);
p=fopen(name,"w+");
if(p==NULL)
printf("\n创建失败");
else
printf("\n创建成功");
printf("是否想打印数据y/n:");
a=getchar();
if(toupper(a)=='Y')
{
printf("商品编号:");
scanf("%s",sp.bh);
fflush(stdin);
printf("\n商品名称:");
gets(sp.mc);
fwrite(&sp,sizof(sp),1,p);
printf("\n存储成功");
}
else
exit(0);
}
fclose(p);
}
为什么存储时会出现乱码