C:如何获取Windows目录中的文件列表?

时间:2011-06-09 15:16:44

标签: c windows winapi file ftp

我正在尝试根据RFC959标准在C(学校作业)中实施FTP服务器。

我在使用LIST命令时遇到问题。 RFC读取: “此命令导致列表从服务器发送到 被动DTP。如果路径名指定目录或其他目录 一组文件,服务器应该传输一个文件列表 在指定的目录中。如果路径名指定了 文件然后服务器应该发送当前信息 文件。 null参数表示用户当前正在工作或 默认目录。“

我知道有像GetCurrentDirectory等函数。是否有一个函数来获取MS-DOS命令提示符中的'dir'等输出?任何类似的东西都会有所帮助。

提前致谢!

2 个答案:

答案 0 :(得分:4)

FindFirstFile& FindNextFile是枚举路径的API。

答案 1 :(得分:1)

Adrian Worley写了一个教程,解释如何使用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;
}