求助大神,这是一个鱼类信息检索程序,为什么从文件读入结构体数组的东西对不上号,比如说输入青鱼,它会显示草鱼的信息,但是信息内容都是对的,就是对不上号。
#include<stdio.h>#include<string.h>
#include <malloc.h>
#include <stdlib.h>
struct fishes
{ wchar_t name[256];
wchar_t xueming[256];
wchar_t keming[256];
wchar_t length[256];
wchar_t tezheng[2000];
};
void main()
{
struct fishes fish1[15];
int i,j,num=0;
wchar_t name[2000];
FILE *fp=fopen("数据库1.txt","r");
for(i=0;i<15;i++)
{
printf("\n");
fgets(fish1[i].name,256,fp);
printf("\n名称:%s",fish1[i].name);
fgets(fish1[i].xueming,256,fp);
printf("\n学名:%s",fish1[i].xueming);
fgets(fish1[i].keming,256,fp);
printf("\n科名:%s",fish1[i].keming);
fgets(fish1[i].length,256,fp);
printf("\n长度:%s",fish1[i].length);
fgets(fish1[i].tezheng,2000,fp);
printf("\n特征:%s",fish1[i].tezheng);
}
fclose(fp);
scanf("%s",name);
for(i=0;i<15;i++)
if(strcmp(name,fish1[i].name)==1)
{
printf("鱼类信息如下:\n");
printf("\n名称:%s",fish1[i].name);
printf("\n学名:%s",fish1[i].xueming);
printf("\n科名:%s",fish1[i].keming);
printf("\n长度:%s",fish1[i].length);
printf("\n特征:%s",fish1[i].tezheng);
break;
}
}