Насколько важна длина пути к файлу? - PullRequest
1 голос
/ 19 августа 2011

Я работаю над кроссплатформенной библиотекой, которая будет использоваться для манипулирования файлами (создание, переименование, удаление, ...) на оптическом носителе. Поэтому у меня есть вопросы, связанные с обработкой пути.

  1. В настоящее время у меня нет ограничений на длину пути в моей библиотеке, поэтому пользователь может создать папку с очень длинным путем, который не поддерживается ОС. Например, в Windows пользователь может создать папку с pathlen больше, чем MAX_PATH символов. Так что я должен делать в этой ситуации?

  2. Решение для первого вопроса, возможно, проверка нового пути len, который будет создан после копирования файла / папки. Но есть еще одна проблема, вызванная различными значениями MAX_PATH и PATH_MAX в Windows и Linux.

1 Ответ

0 голосов
/ 19 августа 2011

C определяет стандартный макрос FILENAME_MAX.

"Эта константа макроса расширяется до целочисленного выражения, соответствующего размеру, необходимому массиву элементов char для хранения самой длинной строки имени файларазрешено системой. Или, если система не налагает такое ограничение, устанавливается рекомендованный размер для символьных массивов, предназначенных для хранения любого имени файла. "

Это должно быть достаточно большим, чтобы указатьстрока, содержащая самое длинное имя, которое можно использовать для имени файла.Это макрос, поэтому его значение зависит от платформы.

Большинство ОС АПИС должны возвращать конкретную ошибку, указывающую, что имя является слишком ручным, вы можете правильно обработать его и сообщить пользователю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...