Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

05. Функции / Examples / 07_folder_bypassing / 07_folder_bypassing

.cpp
Скачиваний:
30
Добавлен:
18.03.2015
Размер:
1.04 Кб
Скачать
/* 
   Программа выводит содержимое файлов, удовлетворяющих маске.
   Если определённым образом задать маску, то её можно использовать
   для вывода содержимого одной директории.
*/
   

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

int main()
{
	setlocale(LC_ALL, "Russian");

	WIN32_FIND_DATAA findData;
	HANDLE hf;

	/* FindFirstFileA - поиск первого файла по маске.
	   Если найден файл, то структура findData
	   заполнится свойствами этого файла или папки. */

	hf = FindFirstFileA("D:\\MyDocs\\*", &findData);

	if (hf == INVALID_HANDLE_VALUE)
	{
		cout << "Cannot find file" << endl;
		return -1;
	}

	do
	{
		if(findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
			cout << "[DIR] ";
			
		cout << findData.cFileName << endl;
		
		/* FindNextFileA - поиск остальных файлов по маске.
	       Если найден следующий файл, то структура findData
	       заполнится свойствами найденного файла или папки. */
	}
	while (FindNextFileA(hf, &findData)); 

	FindClose(hf);

}