2011-06-09 101 views
1

我想实现在C(作业)的FTP服务器,根据RFC959标准。C:如何获取Windows目录下的文件列表?

我有LIST命令的麻烦。 RFC读取: “此命令导致从服务器发送列表到 被动DTP。如果路径名指定一个目录或其他 文件组,服务器应该在指定的目录中传输文件列表 。如果路径名指定一个文件 那么服务器应该发送的 文件的最新信息。null参数意味着用户的当前工作或 默认目录“。

我知道有像GetCurrentDirectory功能等是否有一个功能,以获得输出中,例如在MS-DOS命令提示“DIR”的?任何类似的事情都会有所帮助。

在此先感谢!

+1

Duplicate:http://stackoverflow.com/questions/612097/how-can-i-get-a-list-of-files-in-a-directory-using-c-or-c – 2011-06-09 15:24:34

回答

1

阿德里安·沃利写了一个教程解释如何得到使用和用FindFirstFile FindNextFile http://www.adrianxw.dk/SoftwareSite/FindFirstFile/FindFirstFile1.html

这里有一个小例子,一个目录中的文件列表。

#include <windows.h> 
#include <iostream> 
using namespace std; 

int main() 
{ 
    HANDLE hFind; 
    WIN32_FIND_DATA FindData; 

    cout << "FindFirstFile/FindNextFile demo.\n" << endl; 

    // Find the first file 

    hFind = FindFirstFile("C:\\Windows\\*.exe", &FindData); 
    cout << FindData.cFileName << endl; 

    // Look for more 

    while (FindNextFile(hFind, &FindData)) 
    { 
     cout << FindData.cFileName << endl; 
    } 

    // Close the file handle 

    FindClose(hFind); 

    return 0; 
}