这是定义的结构体
//定义计费信息结构体,保留每次上机的信息
struct Billing
{
char aCardName[18]; //卡号
time_t tStart; //上机时间
time_t tEnd; //下机时间
float fAmount; //消费金额
int nStatus; //消费状态,0-未结算,1-已经结算
int nDel; //删除标识,0-未删除,1-删除
};
//定义计费信息链表结点类型
struct BillingNode
{
Billing data;
struct BillingNode* next;
};
这是函数部分
BillingNode* BillListInit(const string billingFilename)
{
ifstream billingfile(billingFilename);
BillingNode* pBillingNode, * pBillingNodeHead, * pBillingNodeTail;
Billing billing;
if (!billingfile.is_open())
{
return NULL;
}
pBillingNodeHead = NULL;
pBillingNodeTail = NULL;
while (1)
{
billingfile.read((char*)&billing, sizeof(Billing));
if (billingfile.eof())
{
break;
}
pBillingNode = new BillingNode;
pBillingNode->data = billing;
if (pBillingNodeHead == NULL)
{
pBillingNodeHead = pBillingNode;
pBillingNodeTail = pBillingNode;
}
else
{
pBillingNodeTail->next = pBillingNode;
pBillingNodeTail = pBillingNode;
}
}
pBillingNodeTail->next = NULL;
billingfile.close();
return pBillingNodeHead;
}
看不懂这个函数,希望有人帮忙解释一下