C语言获取目录中文件名

C语言获取目录中文件名
#include    < stdio.h >  
#include   
< dirent.h >  
#include   
< string .h >  

 typedef   
struct    FileList 
    

        
char   filename[64]; 
        
struct   FileList   *next; 
    }
FILENODE; 

FILENODE
*   getFiles( char   * dir /**/ /*文目录*/ )
{
   DIR   
*directory_pointer; 
   
struct   dirent   *entry; 
   directory_pointer
=opendir(dir);
   
struct FileList start;
   
struct FileList *filesNode;
    start.next
=NULL; 
        filesNode
=&start; 
        
while   ((entry=readdir(directory_pointer))!=NULL) 
        

            filesNode
-> next=(struct   FileList   *)malloc(sizeof(struct   FileList)); 
            filesNode
=filesNode-> next; 
            strcpy(filesNode
-> filename,entry-> d_name); 
            filesNode
-> next=NULL; 
        }
 
        closedir(directory_pointer); 
        filesNode
=start.next;
        
return filesNode;         
}


int    main() 

    
struct FileList *filesNode;
    
char dir[100]="D:\\down";  
    filesNode
=getFiles(dir);
   
    
    
if (filesNode==NULL)
    
{
    printf(
"没有成功");
    
return 0;
    }

    
while(filesNode) 
    

    printf( 
"%s\n ",filesNode-> filename); 
    filesNode
=filesNode-> next; 
    }
  
  
    system(
"pause");
    
return 0;
}

你可能感兴趣的:(C语言获取目录中文件名)