Форум: Форум C++Разное
Новые темы: 00
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум C++

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: С++: Определение размера директории
 
 автор: cheops   (26.11.2011 в 23:14)   письмо автору
 
 

Это решение для Visual C++, поэтому имена функций предваряет символ подчеркивания. Вообще в стандартном C++ их нет, да и файловая структура _finddata_t и называется по-другому и имеет немного другую структуру. Однако, за минусом этих деталей, порядок действия во всех реализациях C++ один и тот же.
#include <stdio.h>
#include <stdlib.h>
#include <io.h>
#include <iostream>
using namespace std;

int main(void)
{
  // Размер директории
  long int sizedir = 0;
  // Вспомогательные структуры и дескрипторы
  struct _finddata_t file;
  intptr_t hFile;
  
  // Открываем текущую директорию
  if((hFile = _findfirst"*.*", &file )) == -1L)
  {
    cerr << "Не удалось открыть директорию" << endl;
  }
  else
  {
    // В цикле обходим файлы директории
    do
    {
      cout << file.name << " = " << file.size << " bytes " << endl;
      sizedir += file.size;
    } while_findnext(hFile, &file) == 0 );
    // Закрываем директорию
    _findclose(hFile);
    cout << "Общий размер директории = " << sizedir << " bytes " << endl;
  }
  // Остановка перед закрытием окна
  system("PAUSE");
  return 0;
}

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования