c++利用文件流读取txt文件时,文件打开了,但是读取错误

c++利用文件流读取txt文件时,文件打开了,但是读取错误

问题描述:

这是代码
#include
#include
#include
#include
#include
using namespace std;

#define DATALEN 30

struct student{
int sno;
char sname[10];
char sgender[10];
int sage;
char saddr[10];
int g[3];
};
int main(){
FILE *data;
int i=0;
struct student stu[DATALEN];
if((data=fopen("data.txt","r"))==NULL){
printf("Can not open file\n");
return -1;
}
while(!feof(data)){
fscanf(data,"%d %s %s %d %s %d %d %d\n",&stu[i].sno,&stu[i].sname,&stu[i].sgender,&stu[i].sage,&stu[i].saddr,&stu[i].g[1],&stu[i].g[2],&stu[i].g[3]);
i++;
}
fclose(data);
for(int j=0;j<i;j++){
printf("%d %s %s %d %s %d %d %d\n",&stu[i].sno,&stu[i].sname,&stu[i].sgender,&stu[i].sage,&stu[i].saddr,&stu[i].g[1],&stu[i].g[2],&stu[i].g[3]);
}
return 0;}

img

你输出的时候变量前面不用加取地址符号
printf("%d %s %s %d %s %d %d %d\n",&stu[i].sno,&stu[i].sname,&stu[i].sgender,&stu[i].sage,&stu[i].saddr,&stu[i].g[1],&stu[i].g[2],&stu[i].g[3]);