load_dub.cpp

来自「书店管理程序」· C++ 代码 · 共 57 行

CPP
57
字号

  //Load_DuB.cpp
  #   include   <stdio.h>
  #   include   <conio.h>
  #   include   <alloc.h>
  #   include   <dos.h>
  

  void Load_DuB(void)
  {
	 int i;
	 DuBLinkList info,temp=NULL;
	 FILE *fp6;
	 if((fp6=fopen("","rb"))==NULL)
	   {
	   cprintf("cannot open file\r\n");
	   return;
	   }
	 while(start)
	   {  //释放info所指向的内存空间
	   info=start->next;
	   start=info;
	   free(info);
           }
	 cprintf("\rLoading file\r\n");
	 cprintf("Wait");
	 for(i=0;i<6;i++)
	  { cprintf(".");
		delay(600);
	  }
	 start=(DuBLinkList)malloc(sizeof(DuBNode));//  申请空间作为链表头结点
	 if(!start)
	   {
	   cprintf("overflow\r\n");  //空间不足则返回
	   return;
	   }
	 info=start;
	 while(!feof(fp6))   //文件未结束,将文件的内容装载到内存中
	   {
	   if(1!=fread(info,sizeof(DuBNode),1,fp6))  break; //文件结束或出错则返回,否则长度为sizeof(DuBNode)
                                                            //的文件记录装载到info指向的空间中
	   
           info->next=(DuBLinkList)malloc(sizeof(DuBNode)); //申请空间
	   if(!info->next)
		 {
		 cprintf("overflow\r\n"); //空间不足则返回
		 return;
		 }
	   info->prior=temp;    
	   temp=info;          
	   info=info->next;
	 }
	 temp->next=NULL;    //链表尾结点后继设置为NULL
	 last=temp;          //temp设置为尾结点
	 start->prior=NULL;  //设置头结点前驱结点为NULL
	 fclose(fp6);         //关闭文件
  } 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?