我有一个文件,我想从中读取之前由另一个程序创建的数据,但出现段错误。这是程序。
typedef char Telemento[MAX_CHAR+5];
typedef struct{
Telemento arraycola[NUM_ELEM];
int inicio;
int final;
}TCola;
typedef char TNombreImpresora[MAX_NOM_IMPR];
typedef struct{
TNombreImpresora nombreimpresora;
int numerodeficherosencola;
TCola colaImpresora;
}TImpresora;
typedef struct{
TImpresora impresora;
int ocupado;
}TCelda;
typedef TCelda Tlistaimpresora[MAX_IMPR];
int main(){
FILE *fp;
int i=0;
Tlistaimpresora listaimpresoras;
fp=fopen("test.bin", "r");
while(feof(fp)==0 && i<4){
fread(&listaimpresoras[i].impresora, sizeof(listaimpresoras[i].impresora), (i+1), fp);
listaimpresoras[i].ocupado=1;
i++;
}
fclose(fp);
return 0;
}
感谢您的宝贵时间。如果有人需要更多信息,请告诉我。
最佳答案
我认为这一行有错误(应该是1
,而不是i+1
):
fread(&listaimpresoras[i].impresora, sizeof(listaimpresoras[i].impresora), 1, fp);
关于c - 将数据从文件写入 C 上的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27671798/