zsy123 发表于 2014-9-14 20:12:08

将结构体数据先保存在文件中,然后读出,程序出了点问题,就是找不出

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
main()
{
    FILE *fp;
    struct person
    {
      char name;
      int age;
    } c,e;
    int i;
    if((fp=fopen("9.text","wt+"))==NULL)
                        {
                            printf("can not open the file!");
                              exit(1);
                        }
    for(i=0;i<2;i++)
    {
      printf("name\n");
    scanf("%s",c.name);
    printf("age\n");
    scanf("%d\n",&c.age);
    fwrite(&c,sizeof(c),1,fp);
   }//将结构体赋值并写入文件
   rewind(fp);
   for(i=0;i<2;i++)
   {
       fread(&e,sizeof(e),1,fp);
       printf("%s",e.name);
       printf("%d",e.age);
   }//从文件中读出数据
    fclose(fp);
}

漩涡鸣人 发表于 2014-9-14 21:01:33

scanf("%d\n",&c.age);
这一句不用\n,scanf没有这种转义字符
页: [1]
查看完整版本: 将结构体数据先保存在文件中,然后读出,程序出了点问题,就是找不出