我正在尝试根据RFC959标准在C(学校作业)中实施FTP服务器。
我在使用LIST命令时遇到问题。 RFC读取: “此命令导致列表从服务器发送到 被动DTP。如果路径名指定目录或其他目录 一组文件,服务器应该传输一个文件列表 在指定的目录中。如果路径名指定了 文件然后服务器应该发送当前信息 文件。 null参数表示用户当前正在工作或 默认目录。“
我知道有像GetCurrentDirectory等函数。是否有一个函数来获取MS-DOS命令提示符中的'dir'等输出?任何类似的东西都会有所帮助。
提前致谢!
答案 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;
}