Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: 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;
}


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: