从文件里读取数据的问题

ipaomian 发布于 2012/07/04 19:09
阅读 119
收藏 0

各位大神,问个问题,我在编一个类似电话本的小软件,遇到了瓶颈,我在输入了相关数据后,存储来一个文本文档里,用的如图方式写入

void create()                     //建立电话本
{
 FILE *fp;
    char c1[10],c2[11],c3[21],c4[21],c5[21];
    int i=0,j;
 if((fp=fopen("tt.txt","a"))==NULL)
 {
  printf("无法打开此文件\n");
  return;
 }
    printf("姓名:");
    gets(c1);
     while(strlen(c1)!=0)
 {

  strcpy(a[i].name,c1);
        printf("邮箱:");
     gets(c2);
  strcpy(a[i].email,c2);
  printf("单位:");
  gets(c3);
      strcpy(a[i].unit,c3);
  printf("电话:");
  gets(c4);
  strcpy(a[i].phone,c4);
  printf("地址:");
  gets(c5);
  strcpy(a[i].addr,c5);
        i++;N++;
  printf("\n");
  printf("按回车结束\n");
  //system("pause");
        gets(c1);
 }
    //save();
 for(j=0;j<N;j++)
 {
  //if(fwrite(&a[j],sizeof(struct student),1,fp)!=1)
  if(fputs(&a[j],fp));
  {  if(feof(fp))

      printf("write error");
  }
 }
 fclose(fp);

}

请问这该怎么读取呢?

 

void input()//导入程序
{
    int j,flag=0;
    char newname[M][M];
    FILE *fp;
    if((fp=fopen("tt.txt","r"))==NULL)
    {
        printf("无法打开此文件\n");
        return;
    }
    while(fgets(&a[flag],10000,fp))
    {
        printf("%s\n",a[flag]);
        flag++;
        if(fgets(&a[flag],10000,fp));
        printf("%s\n",a[flag]);
    }
   /* for(j=0;j<N;j++)
 {
  if(fread(&newname[j],sizeof(struct student),1,fp)!=1)
  {  if(feof(fp))

      printf("write error");
      printf("%s",newname[j]);
  }
 }*/
    fclose(fp);
    system("pause");
}

我自己YY的方式。。。求大神指导下
加载中
返回顶部
顶部