|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Апр 5, 2003 18:17:14 Привет! Как заставить FindFirstFile и FindNextFile выводить скрытые/системные папки? А если нельзя, то чем искать? Спасибо. |
|
|
Дата: Апр 6, 2003 11:34:44 Так в структуре WIN32_FIND_DATA есть же флажки FILE_ATTRIBUTE_HIDDEN, FILE_ATTRIBUTE_SYSTEM. Или это не то? |
|
|
Дата: Апр 6, 2003 15:23:09 Насколько я понимаю, эта структура заполняется уже после того как файл или папка были найдены. Проблема в том, что функция скрытые и системные файлы выдает, а папки нет :( |
|
|
Дата: Апр 7, 2003 06:48:58 alеx У меня выдает полное содержимое требуемого каталога. Проверял "C:\\*.*" (там есть Recycled с атрибутами HS) на w2k и w98se. Какая ОС? Как Вы определяете, что папки не выдает? |
|
|
Дата: Апр 7, 2003 15:40:00 Какая ОС? Win98 Как Вы определяете, что папки не выдает? Записываю в файл, а в списке их нет. Абыдна, да. |
|
|
Дата: Апр 7, 2003 20:44:42 На всякий случай код на Си. Что я делаю неправильно? Кроме выбора языка ;))) -------------------------------------------- #include <stdio.h> #include <stdlib.h> #include <windows.h> #include <string.h> int ListFiles(char*); int ListFiles(char *Path) { HANDLE fHandle; WIN32_FIND_DATA wfd; char *FileName=malloc(strlen(Path)+5); if (strlen(Path)) { strcpy(FileName, Path); if (FileName[strlen(FileName)-1]!='\\') { strcat(FileName, "\\"); } } strcat(FileName, "*.*"); printf("%s\n", FileName); system("pause"); fHandle=FindFirstFile(FileName, &wfd); if (fHandle!=INVALID_HANDLE_VALUE) { do { printf("%s\n", wfd.cFileName); } while (FindNextFile(fHandle, &wfd)); FindClose(fHandle); } free(FileName); return 0; } int main(int argc, char *argv[]) { ListFiles("C:\\"); system("PAUSE"); return 0; } ----------------------------------------------- |
|
|
Дата: Апр 7, 2003 21:00:19 Ну, все, проблема решена! Оказывается это была моя ошибка. Прошу прощения за беспокойство! Просто я в проверке вместо '&' написал '=='. Наверное, очень устал в тот день :((( |
|
|
Дата: Апр 8, 2003 04:48:46 alеx очень устал в тот день Настолько, что, показывая рабочий код, надеетесь, что кто-то найдет в нем ошибку? Что я делаю неправильно? Кроме выбора языка С языком все в порядке. Я предпочитаю Си. |
|
|
Дата: Апр 8, 2003 16:26:23 P2M Настолько, что, показывая рабочий код, надеетесь, что кто-то найдет в нем ошибку? Да я только недавно начал осваивать Си (несколько дней). Но уже знаю, к чему может привести неправильно поставленный знак ';'. Да и в форум обратился потому что нигде ничего не мог найти. А этот код заработал после того как я скопировал нерабочий, на мой взгляд, кусок и вставил его в новый проект :((( С языком все в порядке. Я предпочитаю Си. Да знаю я. Шутка была :) |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.068 |