Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Пример поиска файлов задан. размеров, Какие функции ? 
:(
    Опции темы
finder_adventures
Дата 11.6.2002, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 15.5.2002

Репутация: нет
Всего: нет



Натолкните, пожалуйста на мысль - как сделать , чтобы прога просматривала
файлы в заданной папке (с подкаталогами) и если находила файл меньше 100 кб
выводила сообщение в окно "найден ... файл такой-то"
PM MAIL   Вверх
finder_adventures
Дата 11.6.2002, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 15.5.2002

Репутация: нет
Всего: нет



Основную трудность для меня представляет сам поиск файлов - как правильно его
осуществить , этот переход от файла к файлу , пока не просмотр-ся все подкаталоги? + GetFileSize() ...

И буду уж очень благодарен тому кто знает , как эти найденные файлы
можно просмотреть /например/ на наличие слова  "Заявление" ?
PM MAIL   Вверх
Baa
Дата 11.6.2002, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



Используешь обычный поиск файлов.
используй функции
FindFirstFile
FindNextFile
FindClose
При нахождению файлов ( их можно искать по маске *.* ) функции заполняют структуру
typedef struct _WIN32_FIND_DATA { // wfd  
   DWORD dwFileAttributes;
   FILETIME ftCreationTime;
   FILETIME ftLastAccessTime;
   FILETIME ftLastWriteTime;
   DWORD    nFileSizeHigh;
   DWORD    nFileSizeLow;
   DWORD    dwReserved0;
   DWORD    dwReserved1;
   TCHAR    cFileName[ MAX_PATH ];
   TCHAR    cAlternateFileName[ 14 ];
} WIN32_FIND_DATA;
Откуда можно взять размер файла :)


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
Baa
Дата 11.6.2002, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



На форуме были подобные вопросы, поищи :)


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
SAV
Дата 12.6.2002, 05:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 27.3.2002
Где: Moscow

Репутация: нет
Всего: нет



GREETINGS!

Код

bool ScanDrive(CString dir /*Например: Temp:\*.* */)
{
CFileFind hFile;
DWORD dwSize;
CFile m_sFile;
hFile.FindFile(dir,0); int ErCount=0;
hFile.FindNextFile();
do{
       if(!hFile.IsDirectory())
dwSize=m_sFile.GetLength();/*Тут получаем размер файла. Если подходит, то можем уже куда либо занести его.*/

if((hFile.IsDirectory())&&(hFile.GetFileName()!=".")&&(hFile.GetFileName()!="..")){
if(!ScanDrive(hFile.GetFilePath()+"\\*.*"))
return false;
}

if(!hFile.FindNextFile())//
ErCount++;

}while(ErCount<2);

return true;
}

PM MAIL   Вверх
finder_adventures
Дата 13.6.2002, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 15.5.2002

Репутация: нет
Всего: нет



Приведённый ниже пример выводит имена каталогов и файлов , а как вывести имена
подкаталогов?

WIN32_FIND_DATA Find;
HANDLE hFind;

hFind = FindFirstFile("d:\\*" , &Find);
if (hFind != INVALID_HANDLE_VALUE)
{ do
    {
 ListBox2-> Items ->Add(Find.cFileName);
     }
 while (FindNextFile(hFind,&Find));

 FindClose(hFind);
 CloseHandle(hFind);
}
 return  ;
PM MAIL   Вверх
TwoK
Дата 13.6.2002, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 259
Регистрация: 25.3.2002

Репутация: нет
Всего: нет



Здесь есть по этому поводу -
ViNGRAD.RU С++ FAQ


--------------------
Говорят, что население в стране все меньше и меньше. А народу по утрам в метро почему-то все больше и больше...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1221 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.