为了账号安全,请及时绑定邮箱和手机立即绑定

读取文件时多次读取

读取文件时多次读取

C C++
goooool 2017-12-30 22:40:07
#include <stdio.h>  #include <stdlib.h>  #include <windows.h> struct person{ char num[3];    //编号 char name[20];   //姓名 char age[2];    //年龄 char sex[2];     //性别 char phone[12];   //电话 char adress[50];   //地址 char e_mail[20];   //电子邮件 char classify[10];  //分类名}per[100];     //最大数为100  int load()/*加载函数*/  {   FILE *fp;  int i;   if((fp=fopen("person.txt","r"))==NULL)  {printf("\nCannot open file\n");   return 0;  }   for(i=0;!feof(fp);i++)   {fscanf(fp,"%s%s%s%s%s%s%s%s",&per[i].num,&per[i].name,&per[i].age,&per[i].sex,&per[i].phone,&per[i].adress,&per[i].e_mail,&per[i].classify);   }      fclose(fp);  return(i); }int main()  {    int n,i;    n=load();  for(i=0;i<n;i++)   {   printf("%s  %-7s %-2s %-2s %-12s %-50s %-20s %-10s\n",per[i].num,per[i].name,per[i].age,per[i].sex,per[i].phone,per[i].adress,per[i].e_mail,per[i].classify); }   }  
查看完整描述

1 回答

?
goooool

TA贡献2条经验 获得超0个赞

找到原因了,错误的三个数组给的空间都太小了,没地方放/0就自动溢出寻找/0了。

查看完整回答
反对 回复 2017-12-30
  • 1 回答
  • 0 关注
  • 952 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信