Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
soadpol
0 / 0 / 0
Регистрация: 19.09.2009
Сообщений: 16
#1

нахождение Максимальной длины имени объекта Fat32 - C++

03.10.2011, 06:22. Просмотров 881. Ответов 7
Метки нет (Все метки)

Прошу помощи,подсказки в решении такой вот задачки(С++Borland3.1)

поиск объектов с максимальным количеством символов в имени среди объектов с длинными именами

для FAT максимальное к-во-255 символов,это 20 дескрипторов по 13 симв
неясно вот к примеру код LFN-0х0F,а какой код max LFN или его надо просчитывать,может кто сталкивался с подобной задачкой
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2011, 06:22     нахождение Максимальной длины имени объекта Fat32
Посмотрите здесь:

Найти отрезок максимальной длины в массиве А C++
Нахождение в орграфе пути максимальной длины от 1-ой вершины до последней C++
C++ Слово максимальной длины заменить на слово минимальной длины
C++ Найти порядковый номер слова максимальной длины
В строке первого объекта класса слово MAX длины заменить на слово MAX длины второго объекта класса C++
Найти первую последовательность максимальной длины в массиве C++
C++ Найти в функции в строке слово максимальной длины
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
solar_wind
755 / 746 / 42
Регистрация: 06.07.2009
Сообщений: 2,967
Завершенные тесты: 1
03.10.2011, 06:42     нахождение Максимальной длины имени объекта Fat32 #2
soadpol, Ну по логике max LFN - 0xFF что соответствует 255.....
soadpol
0 / 0 / 0
Регистрация: 19.09.2009
Сообщений: 16
03.10.2011, 06:46  [ТС]     нахождение Максимальной длины имени объекта Fat32 #3
Цитата Сообщение от vitaly1981 Посмотреть сообщение
soadpol, Ну по логике max LFN - 0xFF что соответствует 255.....
дело в том что цитата
...Так как длинное имя файла слишком велико, чтобы уместиться в одной записи, система FAT32 записывает их столько, сколько нужно, с учетом того, что в одну запись можно записать до 13-ти символов в кодировке Unicode. Минимальное число новых записей 1, максимальное - 20.

. Следует учитывать, что в кодировке Unicode каждый символ занимает минимум 2 байта. Последовательность символов заканчивается нулем, а неиспользуемые позиции символов заполняются кодом 0FFFFh....
solar_wind
755 / 746 / 42
Регистрация: 06.07.2009
Сообщений: 2,967
Завершенные тесты: 1
03.10.2011, 07:19     нахождение Максимальной длины имени объекта Fat32 #4
soadpol, Получается что 260. 20 записей записей по 13 символов. Но допустимо ли использование более 0xFF символов это не известно....

Добавлено через 5 минут
soadpol, Судя по тестам, операционка отказывается работать с именами файлов больше чем 255 символов, не смотря на то что, используя форму представления данных, можно записать туда 260 символов.
soadpol
0 / 0 / 0
Регистрация: 19.09.2009
Сообщений: 16
04.10.2011, 05:08  [ТС]     нахождение Максимальной длины имени объекта Fat32 #5
LFN-long file name(длинное имя),максимально оно может быть в 255 символов(можно проверить -создать папку с таким длинным именем)мне по заданию надо создать программу которая обращается к объекту(файл или папка)
считает его имя,если оно=255 символов-выводит
solar_wind
755 / 746 / 42
Регистрация: 06.07.2009
Сообщений: 2,967
Завершенные тесты: 1
04.10.2011, 06:41     нахождение Максимальной длины имени объекта Fat32 #6
soadpol, Так в чем проблема?
Я полагаю есть два варианта
1. Получить название через API
2. Извлечь из памяти, копируешь байты в нужном порядке к себе в массив и считаешь длину (главное порядок не перепутать)
soadpol
0 / 0 / 0
Регистрация: 19.09.2009
Сообщений: 16
04.10.2011, 06:48  [ТС]     нахождение Максимальной длины имени объекта Fat32 #7
Цитата Сообщение от vitaly1981 Посмотреть сообщение
soadpol, Так в чем проблема?
Я полагаю есть два варианта
1. Получить название через API
2. Извлечь из памяти, копируешь байты в нужном порядке к себе в массив и считаешь длину (главное порядок не перепутать)
API не подойдет однозначно-работа на С++Borland 3.1 под дос
а может просто поставить метку(№) 20 дескриптора?это будет значить что имя занимает все отведенное место
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.10.2011, 06:52     нахождение Максимальной длины имени объекта Fat32
Еще ссылки по теме:

Вывод двух слов максимальной длины C++
C++ Подсветить предложение максимальной длины
C++ Разбить исходную строку на максимальной длины подстроки
Определить все слова максимальной длины в строке C++
В файле заменить все слова максимальной длины на слова минимальной длины C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
solar_wind
755 / 746 / 42
Регистрация: 06.07.2009
Сообщений: 2,967
Завершенные тесты: 1
04.10.2011, 06:52     нахождение Максимальной длины имени объекта Fat32 #8
Нефига, если имя занимает 20 дескрипторов, то его длина может быть от 248 символов до 255, ты внимательно прочитай ту статью из которой сам же цитаты писал, незанятые символы заполняются 0xFF
Yandex
Объявления
04.10.2011, 06:52     нахождение Максимальной длины имени объекта Fat32
Ответ Создать тему
Опции темы

Текущее время: 17:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru