首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

struct文件写入有关问题

2012-06-13 
struct文件写入问题#include stdio.h#include stdlib.hstruct student{int numchar name[10]int tel

struct文件写入问题
#include <stdio.h>
#include <stdlib.h>
struct student
{
 int num;
 char name[10];
 int tel;
 int birth;
 int grades;
}people[10];

int save ()
{
 FILE*fp;
 int i;
 fp=fopen("d:\\information.txt","w+");
 for(i=0;i<10;i++)
 {
  fwrite(&people[i],sizeof(struct student),1,fp);
  }
  fclose(fp);
 return 0;
}
int main ()
{
 int i;
 for(i=0;i<10;i++)
 scanf("%d%s%d%d%d",&people[i].num,&people[i].name,&people[i].tel,&people[i].birth,&people[i].grades);
 save();
 system("pause");
 return 0;
}
为什么我写进去之后除了字母都是乱码啊

[解决办法]
二进制文件用文本打开就是乱码
[解决办法]
使用二进制文件写。如果你使用文本查看的话出现乱码也别惊慌,请使用二进制文件方式读出来,在程序里查看。

C/C++ code
int save (){ FILE*fp; int i; fp=fopen("d:\\information.txt","wb+"); for(i=0;i<10;i++) {  fwrite(&people[i],sizeof(struct student),1,fp);  }  fclose(fp); return 0;}
[解决办法]
fwrite();是以二进位位方式写入文件
你读出来试试,应该可以读不出来的

热点排行