2011-08-21 7 views
13

Tengo problemas para encontrar esta información, y la prueba y el error me dicen que el valor es muy alto. Así que pensé que le preguntaría a la comunidad si alguien sabe y que podría señalarme una página de Apple que confirma la duración de Lion. Todo lo que sé es que es más grande que Snow Leopard.Mac OS X Lion: ¿Cuál es la longitud máxima de la ruta?

+2

Voy a dar un paso en falso y decir que cualquier aplicación que se acerque remotamente a este límite es realmente una mala idea. – jonmorgan

+0

@spookyjon: +1. Probablemente también dependa del sistema de archivos. –

+2

@spookyjon Te estás perdiendo el punto, en Windows es 248, en 10.6 es 250, y en Lion parece mucho más grande. Se trata de probar los límites para asegurarse de no violarlos, pero para saber si necesita saber cuáles son los límites. Está haciendo suposiciones sobre algo sobre lo que no tiene idea y no debería importar POR QUÉ hago una pregunta, pero la voto abajo porque personalmente no está de acuerdo con lo que ha hecho, ya que las suposiciones son realmente malas. –

Respuesta

9

Los límites dependen del sistema de ficheros usado - OSX utiliza HFS Plus por defecto ...

Los únicos documentos oficiales Puedo señalar son los HFS Plus spec que documentan el límite de 255 para la longitud del nombre de archivo.

Wikipedia indica que la longitud máxima de ruta en HFS Plus es "ilimitada".

Tal vez ponerse en contacto con el soporte de Apple Dev es la manera más confiable de obtener declaraciones exactas sobre los límites.

11

antiguo, pero encontré una respuesta:

#include <sys/syslimits.h> 

y entonces va a tener una constante como #define PATH_MAX. En mi caso,

char filenameBuffer [PATH_MAX]; 

Se podía codificar 1024 como el camino máximo, pero utilizando una constante de esa manera hace que su código escalable con nuevas versiones

+3

También tenga en cuenta que 'NAME_MAX' es el límite para los nombres de archivo individuales también. – CyberSkull

+1

De la experimentación, estoy descubriendo que para un archivo dado, usar una ruta de longitud de 1016 funciona y una ruta de longitud de 1017 no lo hace, lo que parece contradecir esa constante así como toda la documentación. – Trejkaz

5

A partir de las pruebas reales en Mac OS X Yosemite, la longitud del recorrido máximo es 1016 caracteres. 1017 falla.

+0

Probado también en Sierra, la longitud máxima de ruta no parece ser ilimitada – Protongun

+0

Tenga en cuenta que/tmp,/etc y/var son enlaces simbólicos a/private/tmp,/private/etc y/private/var. Si intenta crear archivos en esos directorios, podrá crear rutas de tamaño (1024 - len (/ privado)), que es 1016 –

Cuestiones relacionadas