Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Как узнать имя фаила ???


Автор: A... 14.2.2005, 12:37
Привет всем !!!

Итак есть папка "ФОЛДЕР", в которой есть фаилы (имена которых я не знаю).
Нужна програма которая бы записавала зти имена в String - и или char - ы.

Кто знает, какие функции надо использовать..?

Програмирую обыкновенным C++ - ом.

Зарание спасибо.
А.

Автор: Hroft 14.2.2005, 13:08
Без средств ОС тут не обойтись. На каждой платформе и с каждым компилятором по-разному, вроде так.

Автор: Oleg IT 14.2.2005, 13:42
Посмотри в хелпе темум
"_findfirst, _findfirsti64, _wfindfirst, _wfindfirsti64" и т.д.

Автор: IEZ 14.2.2005, 14:15
Hroft Ну ты загнул. Зачем же ты у человека отбиваешь интерес к программированию? smile
Во первых есть структура WIN32_FIND_DATA и к ней прилагаются
три небольшие функции, а именно:
Код

HANDLE FindFirstFile(LPCTSTR lpFileName, LPWIN32_FIND_DATA lpFindFileData);
BOOL FindNextFile(HANDLE hFindFile, LPWIN32_FIND_DATA lpFindFileData);
BOOL FindClose(HANDLE hFindFile);

Первые две шерстят указанный директорий на наличие файлов, ну и
соответственно при их нахождении возвращают в структуру WIN32_FIND_DATA
имена файлов которых не знаешь.
А пользовать примерно так:
Код

WIN32_FIND_DATA Ffd;
HANDLE hFindFile;
BOOL bFind;
strcat(chTmpBuff, "C:\\Folder\\*.*");
memset(&Ffd, 0, sizeof(WIN32_FIND_DATA));
hFindFile=FindFirstFile(chTmpBuff, &Ffd);
if(hFindFile!=INVALID_HANDLE_VALUE)
{
      FindClose(hFindFile);
      bFind=TRUE;
      while(bFind==TRUE)
      {
 memset(&Ffd, '\0', sizeof(WIN32_FIND_DATA));
 bFind=FindNextFile(hFindFile, &Ffd);
 if(bFind==TRUE)
 {
    FindClose(hFindFile);
 }
      }
}

Примерно так. Будут вопросы задавай. smile

Автор: sergejzr 14.2.2005, 14:20
Вот, и для винукса и для линдовса

http://forum.vingrad.ru/index.php?act=ST&f=101&t=36487&hl=findfirst&view=findpost&p=272322

Автор: A... 14.2.2005, 17:05
Спасибо всем за оказонное внимание..smile Как окозалось я зтот вопрос уже задавал... и разабрался..smile вообшем короче говоря мне надо поспать... а то скоро я дорогу дамой забуду...

Всем спасибо пока...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)