I'm trying to write an array of structures to a binary file but when I call the function fwrite does not save anything in the file.
Edit: I add the page definition
typedef struct Pagina Pagina;
struct Pagina
{
char *Instrucción;
char *register1;
char *register2;
};
void Escribir_swap(const char *PCB, const char *Archivo, Pagina **Paginas){
FILE *A, *B;
char exeption[5] = " \n\t,";
char LINE[LONG_MAX_LINE];
int TAM = 0;
int i = 0, j = 0;
for(i = 0; i < MARCOS; i++){
for(j = 0; j < PAGINAS; j++){
if(Get_I(TAM, PCB, LINE, exeption, A) !=NULL ){
Paginas[i][j].Instruccion = strdup(Get_I(TAM, PCB, LINE, exeption, A));
Paginas[i][j].register1 = strdup(Get_R(TAM, PCB, LINE, exeption, A, 1));
Paginas[i][j].register2 = strdup(Get_R(TAM, PCB, LINE, exeption, A, 2));
TAM++;
}
else{
break;
}
}
}
printf("I\t R1,R2\n");
for(i = 0; i<MARCOS; i++)
{
for(j = 0; j<PAGINAS; j++)
{
printf("%s\t %s,%s\n", Paginas[i][j].Instruccion, Paginas[i][j].register1, Paginas[i][j].register2);
}
}
if(B = fopen(Archivo, "wb")==NULL)
{
printf("Error al abrir archivo %s", Archivo);
perror(Archivo);
}else
{
for(i = 0; i<MARCOS; i++)
{
for(j=0;j<PAGINAS;j++)
fwrite(&Paginas[i][j], sizeof(Pagina), 1, B);
}
}
fflush(B);
fclose(B);
}