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

将结构体的内容写入到文件中出现Bus error:10这个异常,怎么解决

2013-12-10 
将结构体的内容写入到文件中出现Bus error:10这个错误,如何解决?#include stdio.h#include stdlib.hst

将结构体的内容写入到文件中出现Bus error:10这个错误,如何解决?
#include <stdio.h>
#include <stdlib.h>

struct st{
char name[10];
char age[10];
char sex[10];
float score;
};


int main()
{
struct st* p;
FILE* p1,*p2;
struct st* s[4];
p=s[0];

int i=0;
p1=fopen("input.txt","r");
p2=fopen("output.txt","w");

for(i=0;i<4;i++)fread(p++,sizeof(struct st),1,p1);
p=p-4;
for(i=0;i<4;i++)fwrite(p++,sizeof(struct st),1,p2);

fclose(p2);
fclose(p1);
return 0;
}

写代码之前建立的文件input.txt:

zhangsan 20 man 89.0
lisi 23 man 78.0
wangwu 23 woman 100.0
liqiu 34 woman 90.0



编译代码没有问题,但是运行的时候出现: Bus error 10这个错误,请牛人指导...........
[解决办法]


struct st* s[4]; //没有必要定义成指针数组!
// 这样就行了
struct st s[4];
p = s; //或者 p = &s[0];

 

热点排行