filenode* getfilesname(char *dir, int *pno) { DIR *dir_prt; struct dirent *entry; struct fi

来源:互联网 发布:国外源码网站 编辑:程序博客网 时间:2024/06/09 21:42
filenode* getfilesname(char *dir, int *pno){   DIR *dir_prt;   struct dirent *entry;   struct filelist start = {{0}, NULL};   struct filelist *filesnod;   filesnod = &start;   *pno = -2;    dir_prt = opendir(dir);   if(!dir_prt)   {      return NULL;   }   while(NULL != (entry = readdir(dir_prt)))   {      filesnod->next = (struct filelist *)malloc(sizeof(filenode));      filesnod = filesnod->next;      strcpy(filesnod->filename, entry->d_name);      filesnod->next = NULL;      (*pno)++;   }   closedir(dir_prt);   filesnod = start.next;    if(0 == filesnod->filename[0])   {      return NULL;   }   return filesnod;}