C: Как получить список файлов в каталоге Windows? - PullRequest
1 голос
/ 09 июня 2011

Я пытаюсь внедрить FTP-сервер в C (школьное задание) в соответствии со стандартом RFC959.

У меня проблемы с командой LIST. RFC гласит: «Эта команда вызывает отправку списка с сервера на пассивная ДТП. Если путь указывает каталог или другой группа файлов, сервер должен передать список файлов в указанном каталоге. Если путь указывает файл, то сервер должен отправить текущую информацию о файл. Пустой аргумент подразумевает текущую работу пользователя или каталог по умолчанию. "

Я знаю, что есть такие функции, как GetCurrentDirectory и т. Д. Есть ли функция для получения вывода, такого как 'dir', в командной строке MS-DOS? Все что угодно, было бы полезно.

Заранее спасибо!

Ответы [ 2 ]

4 голосов
/ 09 июня 2011

FindFirstFile & FindNextFile - это API для перечисления пути.

1 голос
/ 15 октября 2011

Адриан Уорли написал учебник, объясняющий, как получить список файлов в каталоге, используя 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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...