powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Определение числа файлов в указанном каталоге
7 сообщений из 7, страница 1 из 1
Определение числа файлов в указанном каталоге
    #33156078
Mozhaev Petr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как можно определить число файлов, содержащихся в указанном каталоге?
Спасибо.
...
Рейтинг: 0 / 0
Определение числа файлов в указанном каталоге
    #33156116
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Найти их все и в процессе поиска считать их.
...
Рейтинг: 0 / 0
Определение числа файлов в указанном каталоге
    #33156144
Mozhaev Petr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это понятно, но как их все найти? Пример не помешал бы.
...
Рейтинг: 0 / 0
Определение числа файлов в указанном каталоге
    #33156298
SeraTJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тебе под винду нужно?
winapi примерчик:

int nFilesCount=0;
WIN32_FIND_DATA wfd;
HANDLE hFirstFile = FindFirstFile(_T("c:\\your_searched_folder\\*.*"), &wfd);
if (hFirstFile != INVALID_HANDLE_VALUE)
{
do
{
nFilesCount += (!(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY));
} while (FindNextFile(hFirstFile, &wfd));
FindClose(hFirstFile);
}

Вуаля.
в этом окошке сообщения нет компилятора :), поэтому за полное отсутствие ошибок не ручаюсь.
...
Рейтинг: 0 / 0
Определение числа файлов в указанном каталоге
    #33156303
redskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mozhaev PetrЭто понятно, но как их все найти? Пример не помешал бы.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
#include <io.h>
#include <direct.h>

int GetFileCount(const char* const szpath);
int GetFileCount(const char* const szpath)
{
	int count =  0 ;
	if(!_chdir(szpath))
	{
		_finddata_t  finf;
		intptr_t fptr = _findfirst("*.*", &finf);
		if(fptr != (- 1 ))
		{
			do
			{
				if(!(finf.attrib & _A_SUBDIR ))
					++count;
			}while(_findnext(fptr, &finf) != (- 1 ));
		}
	}
	return count;
}

int main()
{
             cout << GetFileCount("c:\\temp") << endl;
	cout << GetFileCount("c:\\winnt") << endl;
	
	return  0 ;
}


Вот примерный код. Если надо учитывать каталоги и файлы в них, то соотв. немного доработать напильником
...
Рейтинг: 0 / 0
Определение числа файлов в указанном каталоге
    #33156376
redskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с учетом вложенных каталогов:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
#include <iostream>
using namespace std;

#include <io.h>
#include <direct.h>

int GetFileCount2(const char* const szpath, int& nfiles, int& ndirs);
int GetFileCount2(const char* const szpath, int& nfiles, int& ndirs)
{
   int ret =  0 ;
   if(!_chdir(szpath))
   {
      _finddata_t  finf;
      intptr_t fptr = _findfirst("*.*", &finf);
      if(fptr != (- 1 ))
      {
         do
         {
            if(finf.attrib & _A_SUBDIR )
            {
               if(strcmp(finf.name, ".") && strcmp(finf.name, ".."))
               {
                  ++ndirs;
                  GetFileCount2(finf.name, nfiles, ndirs);
               }
            }
            else
               ++nfiles;
         }while(_findnext(fptr, &finf) != (- 1 ));
      }
      _chdir("..");
   }
   else
      ret = - 1 ;
   
   return ret;
}

int main()
{
   int nfiles =  0 , ndirs =  0 ;
   GetFileCount2("c:\\temp", nfiles, ndirs);
   cout << "subdirs " << ndirs << endl <<  "files " << nfiles << endl;

   nfiles =  0 , ndirs =  0 ;
   GetFileCount2("c:\\winnt", nfiles, ndirs);
   cout << "subdirs " << ndirs << endl <<  "files " << nfiles << endl;

   return  0 ;
}
...
Рейтинг: 0 / 0
Определение числа файлов в указанном каталоге
    #33157811
Mozhaev Petr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо. Помогло.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Определение числа файлов в указанном каталоге
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]