如何枚举一个文件夹中的所有文件名

解决方案 »

  1.   

    WIN32_FIND_DATA FileData; 
    HANDLE hSearch; 
    DWORD dwAttrs; 
    char szDirPath[] = "c:\\TEXTRO\\"; 
    char szNewPath[MAX_PATH]; 
    char szHome[MAX_PATH]; 
     
    BOOL fFinished = FALSE; 
     
    // Create a new directory. 
     
    if (!CreateDirectory(szDirPath, NULL)) 

        ErrorHandler("Couldn't create new directory."); 

     
    // Start searching for .TXT files in the current directory. 
     
    hSearch = FindFirstFile("*.txt", &FileData); 
    if (hSearch == INVALID_HANDLE_VALUE) 

        ErrorHandler("No .TXT files found."); 

     
    // Copy each .TXT file to the new directory 
    // and change it to read only, if not already. 
     
    while (!fFinished) 

        lstrcpy(szNewPath, szDirPath); 
        lstrcat(szNewPath, FileData.cFileName); 
        if (CopyFile(FileData.cFileName, szNewPath, FALSE))
        { 
            dwAttrs = GetFileAttributes(FileData.cFileName); 
            if (!(dwAttrs & FILE_ATTRIBUTE_READONLY)) 
            { 
                SetFileAttributes(szNewPath, 
                    dwAttrs | FILE_ATTRIBUTE_READONLY); 
            } 
        } 
        else 
        { 
            ErrorHandler("Couldn't copy file."); 
        } 
     
        if (!FindNextFile(hSearch, &FileData)) 
        {
            if (GetLastError() == ERROR_NO_MORE_FILES) 
            { 
                MessageBox(hwnd, "No more .TXT files.", 
                    "Search completed.", MB_OK); 
                fFinished = TRUE; 
            } 
            else 
            { 
                ErrorHandler("Couldn't find next file."); 
            } 
        }

      

  2.   

    我有类似的程序在:http://www.vchelp.net/copathway/project_file.asp?action=list&prj_id=247&page=5
    下载  "获取文件信息 文件读写操作"  即可..
      

  3.   

    http://www.vckbase.com/document/viewdoc.asp?id=620
      

  4.   

    http://www.vckbase.com/document/viewdoc.asp?id=550
      

  5.   

    以下代码可以枚举当前目录下的所有文件,试一试。WIN32_FIND_DATA FileData; 
    HANDLE hSearch; 
    BOOL fFinished = FALSE; 

    //枚举当前目录下的所有文件 
    hSearch = FindFirstFile("*.*", &FileData); 
    if (hSearch == INVALID_HANDLE_VALUE) 

      AfxMessageBox("枚举失败!"); 

    else 
    {
    while (!fFinished) 

    AfxMessageBox( FileData.cFileName); 
    if (!FindNextFile(hSearch, &FileData)) 
    {
    AfxMessageBox("枚举完成!"); 
    fFinished = TRUE;
    }

             //关闭search句柄. 
    if (!FindClose(hSearch)) 

         AfxMessageBox("关闭search句柄失败!"); 

    }