CaptainFlint
Gold Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору С очень высокой степенью вероятности "без сортировки" означает всего лишь порядок, в котором система отдаёт Тоталу (и любой другой программе) список файлов (WinAPI-фунции FindFirstFile и FindNextFile). А этот порядок в свою очередь определяется структурой файловой системы и механизмом обработки этой ФС соответствующим драйвером. Например, в FAT список файлов хранится линейно, при добавлении нового файла создаётся файловая запись в конце списка (независимо от атрибута даты/времени создания). Возможно, существует также механизм переиспользования пустующих элементов списка, оставшихся от удалённых файлов, — тогда эти файлы окажутся где-то в середине, несмотря на то, что созданы позже всех остальных. В NTFS же хранение списка файлов оптимизировано, структура теперь представляет собой бинарное дерево, что позволяет на порядки ускорить навигацию в каталогах с большим числом файлов. Если не ошибаюсь, критерием при разбиении списка на поддеревья как раз служит сравнение имён файлов, поэтому простое считывание полного списка файлов автоматически получается в алфавитном порядке. Возможны нюансы из-за специфики применения локальных символов, которые по юникодному номеру находятся в одном месте таблицы, а в алфавите соответствующего языка — в другом (как русская "Ё"), но детально этот вопрос я не исследовал.
---------- Почему же, ё-моё, ты нигде не пишешь "ё"? |
|