Шаг 158 - Поиск файлов

Для поиска файлов используется две функции. Первая функция начинает поиск:

HANDLE FindFirstFile
(
	LPCTSTR lpFileName,		// какой файл ищем можно указывать маску *, ?
	LPWIN32_FIND_DATA lpFindFileData	// указатель на структуру с информацией
);

В случае ошибке вернет INVALID_HANDLE_VALUE. Для продолжения поиска используется функция:

BOOL FindNextFile
(
	HANDLE hFindFile,			// указатель на поиск 
	LPWIN32_FIND_DATA lpFindFileData	// указатель на структуру с информацией
);

А теперь пробуем все вместе:

#include "stdafx.h"
#include "windows.h"
#include "iostream.h"

void main()
{
	WIN32_FIND_DATA FindFileData;
	HANDLE hf;
	hf=FindFirstFile("c:\\*", &FindFileData);
	if (hf!=INVALID_HANDLE_VALUE)
	{
		do
		{
			cout << FindFileData.cFileName << endl;
		}
		while (FindNextFile(hf,&FindFileData)!=0);
		FindClose(hf);
	}
}

И смотрим. Ага, сработало:

158_1.gif (5100 b)

Точно так же Вы можете получить список доступных сетевых ресурсов.

hf=FindFirstFile("\\\\Servers\\work\\*", &FindFileData);

Загрузить проект | Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 18.11.2001