Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Asm: Общие вопросы > Что такое папка с точки зрения программиста?


Автор: 256zib 9.12.2009, 20:04
Что такое файл? Это грубо говоря набор битов.
Что такое папка? Это тоже набор битов, но специально упорядоченный.
т.е. если создать случайный массив байт, то это не будет папка,но это будет файл. А если папка это файл, то значит набор байт это не файл. утверждение не верное.
т.е. если отходить от обратного, то папка это не файл.
Короче кодю уже почти 10 часов и крышняк едет. ))) Мне кажется, чтобы ответить на этот вопрос, нужно посмотреть как устроена папка в живую а не на словах.

ГЛАВНЫЙ ВОПРОС: Как узнать двоичный код папки или на ассемблере как создать папку. Хочу узнать из чего она сделана точно, а не на словах. Хочу например создать набор байт, сохранив которые получу папку.
Понимаю, что вопрос задаю не в самом подходящем для него месте,но здесь много народу, может кто знает?

Автор: Logree 9.12.2009, 21:36
http://www.hetmanrecovery.com/ru/file_system/fat_recovery/fat_directory_entries.htm
или книга "программирование дисковых подсистем" начиная с главы - Файловая система Fat.

Вообще что из себя представляет папка(директория\каталог) зависит от файловой системы. Файл это действительно последовательность байт, но к части с информационным содержанием файла обычные смертные допускаются(это ваша неупорядоченная последовательность байт), а к части с информацией О файле - нет, к ней обычно, имеет доступ только ОС. Папка же в самом простом случае представляет собой файл информационное содержание которого описывает файлы принадлежащие ей. Вобщем объяснил я коряво... смотрите ссылки. 

Автор: Mikl_ 10.12.2009, 10:24
256zib
а еще при создании файла используется такая штука -- атрибуты
Бит    Атрибут
0    Read only -Только для чтения (в этот файл нельзя писать и его нельзя удалять)
1    Hidden – невидимый
2    System – системный
3    Label -Метка диска
4    DIrectory – подкаталог <-- 
5    Archive – архивный
6    Не используется
7    Не используется
8    Разделяемый (Novell NetWare)
если 4-ый бит у атрибута папки занулить, то мы получим обычный файл содержащий названия файлов, атрибуты файлов, размеры файлов и т.д. входящих в эту папку
если занулить 3-ий бит то мы получим файл вместо логического диска smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)