Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Чтение файлов из папки

454
17 октября 2003 года
Z
21 / / 20.03.2000
Подскажите как из определенной папки считать все файлы. Вернее как функция отвечает за эту операцию
1.8K
18 октября 2003 года
neutrino4
94 / / 05.09.2003
FindFirstFile, FindFirstFileEx
FindNextFile
FindClose

Например:

char currDir[MAX_PATH];
WIN32_FIND_DATA wfd;
GetCurrentDirectory(MAX_PATH,currDir);
HANDLE fffH=FindFirstFile(currDir,&wfd);
printf("%s\n",wfd.cFileName);
while(FindNextFile(fffH,&wfd)!=ERROR_NO_MORE_FILES)
printf("%s\n",wfd.cFileName;

выводит список всех имен файлов текущего каталога.
454
09 ноября 2003 года
Z
21 / / 20.03.2000
Цитата:
Originally posted by neutrino4
FindFirstFile, FindFirstFileEx
FindNextFile
FindClose

Например:

char currDir[MAX_PATH];
WIN32_FIND_DATA wfd;
GetCurrentDirectory(MAX_PATH,currDir);
HANDLE fffH=FindFirstFile(currDir,&wfd);
printf("%s\n",wfd.cFileName);
while(FindNextFile(fffH,&wfd)!=ERROR_NO_MORE_FILES)
printf("%s\n",wfd.cFileName;

выводит список всех имен файлов текущего каталога.



Выводит в бесконечном цикле текущую папку

401
10 ноября 2003 года
Br@in RIPper
289 / / 15.02.2003
Цитата:
Originally posted by Z


Выводит в бесконечном цикле текущую папку



надо так:

char currDir[MAX_PATH];
WIN32_FIND_DATA wfd;
GetCurrentDirectory(MAX_PATH,currDir);

lstrcat(currDir, "\\*.*");

HANDLE fffH=FindFirstFile(currDir,&wfd);
do{
printf("%s\n",wfd.cFileName);
}while(FindNextFile(fffH,&wfd)!=ERROR_NO_MORE_FILES)

454
10 ноября 2003 года
Z
21 / / 20.03.2000
Цитата:
Originally posted by Br@in RIPper


надо так:

char currDir[MAX_PATH];
WIN32_FIND_DATA wfd;
GetCurrentDirectory(MAX_PATH,currDir);

lstrcat(currDir, "\\*.*");

HANDLE fffH=FindFirstFile(currDir,&wfd);
do{
printf("%s\n",wfd.cFileName);
}while(FindNextFile(fffH,&wfd)!=ERROR_NO_MORE_FILES)



все равно тоже

вот полный листинг папка где все лежит tmp

#include <stdio.h>
#include "windows.h"

main()
{
char currDir[MAX_PATH];
WIN32_FIND_DATA wfd;
GetCurrentDirectory(MAX_PATH,currDir);

lstrcat(currDir, "\\*.*");

HANDLE fffH=FindFirstFile(currDir,&wfd);
do{
printf("%s\n",wfd.cFileName);

}while(FindNextFile(fffH,&wfd)!=ERROR_NO_MORE_FILES);

return 0;
}

результат:
tmp.plg
tmp.plg
tmp.plg
tmp.plg
И в бесконечность

401
10 ноября 2003 года
Br@in RIPper
289 / / 15.02.2003
сорри, мой недосмотр, поленился посмотреть описание FindNextFile. Надо не так:
}while(FindNextFile(fffH,&wfd)!=ERROR_NO_MORE_FILES);

а вот так:
}while(FindNextFile(fffH,&wfd));
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог