2015-12-25 4 views
0

Какова цель модели Stat? Что-то вроде статуса операции? Я не нашел многого в Справочном руководстве DXL 9.6.Какой магазин типа Stat в дверях DXL?

Функции, использующие Stat тип данных работ на стат API , предоставляемой операционной системой, которая позволяет программам DXL для определить состояние файлов и каталогов

Чтобы быть более ясно, что я разместим один из его использований:

/************************************ 
    isDirectory 

    Returns true if string parameter is a valid directory 
************************************/ 
bool isDirectory(string dn) 
{ 
    Stat s = create dn 

    if (null s) return false 
    if (directory s) 
    { 
     delete s 
     return true 
    } 
    delete s 
    return false 
} 

или код вроде этого:

/************************************ 
    getFileSize 

    returns the size (in bytes) of a file. note that files smaller than 
    the block size on the disc still take up a whole block. 
************************************/ 
int getFileSize(string fn) 
{ 
    int fSize = 0 
    Stat s = create fn 
    if (null s) return(0) 

    fSize = size(s) 
    if (fSize < BLOCK_SIZE) fSize = BLOCK_SIZE 

    delete s 
    return(fSize) 
} 

Edit:

Или завивки, как:

Дата модифицируется (Stat)

BOOL символическая (Stat)

Дата доступ (Stat)

Stat create (Symbolic__)

недействительных удалить (Stat)

строки пользователя (Stat)

INT размер (Stat)

+1

Будьте осторожны, чтобы не создавать новые, слишком широкие теги, такие как 'create'. Спасибо! –

+0

Есть только два вопроса с тегами [doors-9.5], один из них - это, что действительно для Doors 9.6. Я удалю тег [doors-9.5] из этого. Если есть какие-либо возражения против него, не стесняйтесь восстановить тег, и я не удалю его снова. – icedwater

ответ

1

Stat это структура данных, описывающие файлы и файловые как элементы, такие как каталоги. Вы уже нашли цель этой структуры: , чтобы определить статус файлов и каталогов. Как упоминается в Справочном руководстве в разделе 11, подраздел Операционные системы, это всего лишь способ доступа к функциям и типу данных OS stat с использованием DXL.

Для систем на основе nix конструкция полностью описана в http://man7.org/linux/man-pages/man2/stat.2.html. Для систем на базе Windows см. https://msdn.microsoft.com/en-us/library/14h5k7ff.aspx. Вы заметите, что концепция в основном идентична.

_stat функция получает информацию о файле или директории указанный путь и сохраняет его в структуре, на которую указывает буфер. [Windows]

Эти функции возвращают информацию о файле. [Linux]

Поскольку обработка битовых масок не слишком удобно, это обычная практика, чтобы иметь набор функций, таких как bool directory (Stat), чтобы проверить различные флаги в более читаемом виде. Если вы вообще не хотите использовать буфер статистики, вы обычно создаете слой удобных функций сверху, например bool isDirectory(string), в вашем примере, чтобы вы могли проверить даже более читаемый, если файл/каталог является каталогом, читабельным и т. Д.

Смежные вопросы