我写的按日期归类的哈希表

   memset(pAppletData->fullpath,0,PHOTO_MAX_PATH);    sprintf(pAppletData->fullpath,"%s%s",pAppletData->selectpath,entry->d_name);

   if(pAppletData->filepStat == ListHead)    {     //creat     pS =(FiledataNode *)OS_Malloc(sizeof(FiledataNode));     pS->next = NULL;     pS->index = index;     //get entry data      strcpy(pS->fullpath,pAppletData->fullpath); //     strcat(pS->fullpath,entry->d_name);     // OS_TaskDelay(10); #ifdef WIN32     pS->datetime = i%8;     sprintf(pS->datetime_name, "%d-%d-%d",i%8,i%8,i%8);

#else

    ufs_stat(pAppletData->fullpath, &f_stat);     filedate = f_stat.st_mtime;     AF_PRINTF("fullpath: %s, /r/nyear(%d), month(%d), date(%d) /r/n",pAppletData->fullpath,(1980 + filedate.year),filedate.month,filedate.day);     pS->datetime = 19800000 + filedate.year*10000 + filedate.month*100 + filedate.day;     AF_PRINTF("----------------------------name =%s  index =%d/n",pS->fullpath,pS->index);     sprintf(pS->datetime_name, "%d-%d-%d",(1980 + filedate.year),filedate.month,filedate.day); #endif

//    strcpy(pS->datetime_name,pAppletData->pSVirtualDirArray->datetime_name);

    pSVirtualDirArray = (VirtualDirArray *)OS_Malloc(sizeof(VirtualDirArray));     pSVirtualDirArray->next = NULL;     pHeadVirtualDirArray = pSVirtualDirArray;     pSVirtualDirArray->childNode = pS;     pSVirtualDirArray->datetime = pS->datetime;     strcpy(pSVirtualDirArray->datetime_name,pS->datetime_name);

    pAppletData->nfilesCount++;     pAppletData->totalEntriesCount++;     pAppletData->filepStat = ListBody;       }    else  //Body    {     pS =(FiledataNode *)OS_Malloc(sizeof(FiledataNode));     pS->next = NULL;     pS->index = index;        //get fullpath and Time data     strcpy(pS->fullpath,pAppletData->fullpath); //    strcat(pS->fullpath,entry->d_name);     //OS_TaskDelay(10);    // AF_PRINTF("----------------------------name =%s  index =%d/n",pS->fullpath,pS->index); #ifdef WIN32     pS->datetime = i%8;     sprintf(pS->datetime_name, "%d-%d-%d",i%8,i%8,i%8); #else

    ufs_stat(pAppletData->fullpath, &f_stat);     filedate = f_stat.st_mtime;     AF_PRINTF("fullpath: %s, /r/nyear(%d), month(%d), date(%d) /r/n",pAppletData->fullpath,(1980 + filedate.year),filedate.month,filedate.day);     pS->datetime = 19800000 + filedate.year*10000 + filedate.month*100 + filedate.day;     AF_PRINTF("----------------------------name =%s  index =%d/n",pS->fullpath,pS->index);     sprintf(pS->datetime_name, "%d-%d-%d",(1980 + filedate.year),filedate.month,filedate.day); #endif         pSVirtualDirArray = pHeadVirtualDirArray;     findout = FALSE;     while(pSVirtualDirArray->next != NULL)     {      //time same

     if (pSVirtualDirArray->datetime == pS->datetime)

     {       FiledataNode *temp;       temp = pSVirtualDirArray->childNode;       pSVirtualDirArray->childNode = pS;       pS->next = temp;       findout = TRUE;       break;      }      pSVirtualDirArray = pSVirtualDirArray->next;     }    //the last one     if(pSVirtualDirArray->next == NULL)     {      if (pSVirtualDirArray->datetime == pS->datetime)      {       FiledataNode *temp;       temp = pSVirtualDirArray->childNode;       pSVirtualDirArray->childNode = pS;       pS->next = temp;       findout = TRUE;      }        }     if(findout != TRUE)     {      pSVirtualDirArray->next = (VirtualDirArray *)OS_Malloc(sizeof(VirtualDirArray));      pSVirtualDirArray = pSVirtualDirArray->next;      pSVirtualDirArray->next = NULL;      pSVirtualDirArray->childNode = pS;      pSVirtualDirArray->datetime = pS->datetime;      strcpy(pSVirtualDirArray->datetime_name,pS->datetime_name);      AF_PRINTF("fullpath: %s/r/n",pAppletData->fullpath);

    }      pAppletData->nfilesCount++;      pAppletData->totalEntriesCount++;     pAppletData->filepStat = ListBody;    }    //   if (pAppletData->nfilesCount==pAppletData->nfiles)    if ((i + 1) ==(pAppletData->totalEntries-1))    {     VirtualfolderSort(pHeadVirtualDirArray);     pAppletData->pHeadVirtualDirArray = pHeadVirtualDirArray;         pSVirtualDirArray = pHeadVirtualDirArray;         //count how many virual dir is.     for ( pAppletData->nVirualdirs = 0;pSVirtualDirArray != NULL;pAppletData->nVirualdirs++)     {      pSVirtualDirArray = pSVirtualDirArray->next;     }    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值