我想得到一个目录下的所有文件,该怎么做?是用GetNextPathName吗?还是用别的什么方法?

解决方案 »

  1.   

    CFileFind 类提供了一套查找目录和文件的方法
      

  2.   

    我忘了是CFindFile 还是CFileFind 你自己查查msdn
      

  3.   

    //函数描述:函数名Fget_filename 
    //功能:取指定目录下的所有文件,
    //参数描述:fdirectoryPath为指定路径,
    // filename_array存放取得的文件名信息的数组,
    // length数组实际存放项的长度
    //返回值描述:返回值1表示正常,-1表示出错
    short Fget_filename( char* fdirectoryPath,char* filename_array[MAX1], int& length )
    {
    WIN32_FIND_DATA data; //is FindFirstFile Parameters
    HANDLE hFind;
    int nCount=0; // 
    char filename[256];
    memset( filename, 0, 256 );
    strcpy(filename, fdirectoryPath );
    strcat(filename, "\\*.*"); //查找当前目录下的所有文件
    hFind = FindFirstFile(filename, &data);
    while( hFind != INVALID_HANDLE_VALUE )
    {
    strcpy( filename_array[nCount], data.cFileName );
    nCount++; if( !FindNextFile(hFind, &data) )
    {
    CloseHandle( hFind );
    hFind = INVALID_HANDLE_VALUE;
    }
    } length=nCount;
    return 1;
    }
      

  4.   

    也可以用win32 API,FindFirstFile用FindNextFile,思路和楼上的一样
      

  5.   

    CFileFind类中的FindFile( strPathFiles )可以得到文件或目录的名字,用IsDirectory()可以判断是文件还是目录