我需要确定公式或函数来确定为在以下函数中存储内存地址而保留和/或分配的内存空间:通过从文本文件中获取数据来创建一个循环简单列表。我该如何实施?
这就是我创建循环简单列表的函数的样子:
void creare_lista(listaSimpla *&cap,ContBancar *cont)
{
listaSimpla *nou = (listaSimpla*)malloc(sizeof(listaSimpla));
nou->info=cont;
nou->next=NULL;
if(cap==NULL)
{
cap=(listaSimpla*)malloc(sizeof(listaSimpla));
cap=nou;
cap->next=cap;
}
else
{
listaSimpla *aux=cap;
while(aux->next!=cap)
aux=aux->next;
aux->next=nou;
nou->next=cap;
}
}
在 void main() 我有以下代码用于从文本文件中获取数据:
listaSimpla *cap=NULL;
char buff[100];
FILE *f;
f=fopen("fisier.txt", "r");
if(f)
{
while(!feof(f))
{
ContBancar *cont=new ContBancar;
fscanf(f,"%d", &cont->nrCont);
fscanf(f,"%s", &buff);
cont->nume=(char*)malloc(strlen(buff)+1);
strcpy(cont->nume,buff);
fscanf(f,"%d",&cont->data.zi);
fscanf(f,"%d",&cont->data.luna);
fscanf(f,"%d",&cont->data.an);
fscanf(f,"%f",&cont->sold);
fscanf(f,"%f",&cont->rata);
creare_lista(cap,cont);
}
fclose(f);
}