Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Denn Гость
|
Добавлено: Вс Авг 15 2004 18:11 Заголовок сообщения: Файловые системы |
|
|
Вопросик: если размер файла допустим 100б, а кластер 512б то остальное пространство кластера будут нули? |
|
Вернуться к началу |
|
|
FUKS
Зарегистрирован: 14.04.2002 Сообщения: 148 Откуда: Москва
|
Добавлено: Пн Авг 16 2004 10:51 Заголовок сообщения: Re: Файловые системы |
|
|
Не обязательно, может быть любой мусор, длина файла определяется записью в dir, а нули могут быть и в самом файле. |
|
Вернуться к началу |
|
|
Denn Гость
|
Добавлено: Пн Авг 16 2004 17:39 Заголовок сообщения: |
|
|
Тогда другой вопрос: запись файла начинается с самого начала кластера? |
|
Вернуться к началу |
|
|
CHUVY
Зарегистрирован: 17.08.2004 Сообщения: 4
|
Добавлено: Вт Авг 17 2004 12:09 Заголовок сообщения: Кто знает |
|
|
Есть ли функция на С++, которая перебтрает все файлы на диске |
|
Вернуться к началу |
|
|
FUKS
Зарегистрирован: 14.04.2002 Сообщения: 148 Откуда: Москва
|
Добавлено: Ср Авг 18 2004 10:38 Заголовок сообщения: Re: Кто знает |
|
|
Denn писал(а): | Тогда другой вопрос: запись файла начинается с самого начала кластера? |
А откуда же ей начинаться? Конечно смотря какая файловая система, но если речь о DOS-образной ФС типа FAT, то вся служебная информация хранится в dir'ах и в двух копиях собственно FAT - Files Allocation table(s) - в FAT прописана цепочка занятых файлом кластеров, а в dir указан начальный кластер этой цепочки и размер файла в байтах, а также другие атрибуты. При этом все dir'ы кроме root сами являются файлами с признаком "dir" и тоже расположены в кластерах под "крышей" FAT, а root находится в системной области диска, она в FAT вроде бы не прописана.
CHUVY писал(а): | Есть ли функция на С++, которая перебтрает все файлы на диске |
Наверно надо как и в DOS смотреть в сторону findfirst и findnext, а как обход всего дерева сделать - это уж не знаю, проще ручками. |
|
Вернуться к началу |
|
|
Denn Гость
|
Добавлено: Ср Авг 18 2004 15:24 Заголовок сообщения: Re: Кто знает |
|
|
FUKS писал(а): | Конечно смотря какая файловая система, |
А в каких это не так?
Цитата: | но если речь о DOS-образной ФС типа FAT, то вся служебная информация хранится в dir'ах и в двух копиях собственно FAT - Files Allocation table(s) - в FAT прописана цепочка занятых файлом кластеров, |
Это же в NTFS в двух копиях MFT? |
|
Вернуться к началу |
|
|
FUKS
Зарегистрирован: 14.04.2002 Сообщения: 148 Откуда: Москва
|
Добавлено: Чт Авг 19 2004 10:03 Заголовок сообщения: Re: Кто знает |
|
|
Denn писал(а): | А в каких это не так? |
Не знаю, скорее всего во всех так, где вообще кластера есть, но теоретически может быть и такая система, где служебная инфа идёт в начале "кластера", например на каком-нибудь ленточном носителе с последовательной выборкой такое может быть.
Цитата: | Это же в NTFS в двух копиях MFT? |
Про NTFS не знаю, не изучал, а в старом добром DOSе именно две копии FAT (хотя можно и одну сделать при форматировании), и всякие программы типа ДискДоктора эти две копии сравнивают, ищут потерянные цепочки кластеров. |
|
Вернуться к началу |
|
|
|