Copy .dat file to dynamic memory...
hi
i'm trying to copy the data i have in a .dat file to a program's dynamic memory.
i've manage to do the opposite (memory to .dat), but know i can't load the prog's memory with that data.
Code:
void carregarDADOS(pno lista[3])
{
//main struct
pno aux = NULL;
pno novo = NULL;
no temp;
//folder struct
pnodir auxD = NULL;
pnodir novoD = NULL;
nodir tempD;
//file struct
pnofich auxF = NULL;
pnofich novoF = NULL;
nofich tempF;
int i=0;
FILE *b = fopen("dataBETA.dat", "rb");
if(b!=NULL)
{
while(fread(&temp,sizeof(no),1,b) > 0)
{
novo = (pno)malloc(sizeof(no));
*novo = temp;
novo->prox = NULL;
if(lista[0] == NULL)
{
lista[0] = novo;
while(fread(&tempD,sizeof(nodir),1,b) > 0)
{
novoD = (pnodir)malloc(sizeof(nodir));
*novoD = tempD;
novoD->prox = NULL;
if(lista[0]->dir == NULL)
{
lista[0]->dir = novoD;
while(fread(&tempF,sizeof(nofich),1,b) > 0)
{
novoF = (pnofich)malloc(sizeof(nofich));
*novoF = tempF;
novoF->prox = NULL;
if(lista[0]->dir->fich == NULL)
lista[0]->dir->fich = novoF;
else
{
auxF=lista[0]->dir->fich;
while(auxF->prox!=NULL)
auxF=auxF->prox;
auxF->prox = novoF;
}
}
}
else
{
auxD=lista[0]->dir;
while(auxD->prox!=NULL)
auxD=auxD->prox;
auxD->prox = novoD;
}
}
}
else
{
aux=lista[0];
while(aux->prox!=NULL)
aux=aux->prox;
aux->prox = novo;
while(fread(&tempD,sizeof(nodir),1,b) > 0)
{
novoD = (pnodir)malloc(sizeof(nodir));
*novoD = tempD;
novoD->prox = NULL;
if(lista[0]->dir == NULL)
{
lista[0]->dir = novoD;
while(fread(&tempF,sizeof(nofich),1,b) > 0)
{
novoF = (pnofich)malloc(sizeof(nofich));
*novoF = tempF;
novoF->prox = NULL;
if(lista[0]->dir->fich == NULL)
lista[0]->dir->fich = novoF;
else
{
auxF=lista[0]->dir->fich;
while(auxF->prox!=NULL)
auxF=auxF->prox;
auxF->prox = novoF;
}
}
}
else
{
auxD=lista[0]->dir;
while(auxD->prox!=NULL)
auxD=auxD->prox;
auxD->prox = novoD;
}
}
}
}
}
fclose(b);
}
Any hint??