回 帖 发 新 帖 刷新版面

主题:为什么文件写入之后会出现乱码呢

#include <stdio.h>
#include <stdlib.h>
#define SIZE 4
struct student_type
{char name[10];
 int num;
 int age;
 char addr[15];
}stud[SIZE];

void save()
{FILE *fp;
 int i;
 if((fp=fopen("stu_list.txt","w"))==NULL)
 {printf("cannot open file\n");
  exit(0);
 }
 for(i=0;i<SIZE;i++)
     if(fwrite(&stud[i],sizeof(struct student_type),1,fp)!=1)
         printf("file write error\n");
     fclose(fp);
}
void main()
{
    int i;
    for(i=0;i<SIZE;i++)
        scanf("%s%d%d%s",stud[i].name,&stud[i].num,&stud[i].age,stud[i].addr);
    save();
}

回复列表 (共1个回复)

沙发

文件关闭之前是否写入了一个\0标志文件结束?

我来回复

您尚未登录,请登录后再回复。点此登录或注册