Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.10.2013, 16:16   #1
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию Рекурсивный поиск файлов.

Код:
void FindFiles(std::string dir, int day, int month, int year)
{
	HANDLE hFind;
	WIN32_FIND_DATA FileData;
	SYSTEMTIME sys;

	hFind = FindFirstFile((dir+"\\*").c_str(), &FileData);

	if (hFind != INVALID_HANDLE_VALUE)
	{
		do
		{
			
			FileTimeToSystemTime(&FileData.ftLastWriteTime, &sys);
			

			if (FileData.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY)
			{
				if(FileData.cFileName[0] != '.')
					 continue;
				else
				{
					std::cout << "Directory: " << FileData.cFileName << std::endl;
					FindFiles(dir+"\\"+ FileData.cFileName+"\\",day, month, year);

				}

			}
			else
			{
				
				if (sys.wDay == day && sys.wMonth == month && sys.wYear == year)
					std::cout << FileData.cFileName << std::endl;
			}

			
		}while(FindNextFile(hFind, &FileData));
	}

}
Не пойму почему эта ф-я не работает. В одном каталоге она ищет только каталоги, в другом выводит только файлы.
Pein95 вне форума Ответить с цитированием
Старый 19.10.2013, 21:32   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

if(FileData.cFileName[0] != '.') наверно должно быть if(FileData.cFileName[0] == '.')

Кроме того, проверку на FILE_ATTRIBUTE_DIRECTORY наверно лучше делать операторм & чем ==
waleri вне форума Ответить с цитированием
Старый 20.10.2013, 02:00   #3
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию

Спасибо сделал уже))
все работает)
Осталось только придумать как использовать эту ф-ю в нескольких потоках.
Pein95 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Ассемблер] Рекурсивный поиск файлов и копирование Ёжик в тумане Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 21.02.2012 00:16
Рекурсивный поиск файлов в интервале дат(без времени,только день,месяц и год)) AlexKhol Общие вопросы Delphi 3 04.02.2012 16:15
Рекурсивный поиск файлов в системе. grigorill2 C# (си шарп) 1 26.02.2011 15:26
Рекурсивный поиск zumm Общие вопросы Delphi 7 01.11.2010 22:47
рекурсивный поиск файлов всех картинок doniyor Общие вопросы Delphi 3 08.09.2009 09:21