2011-08-21 10 views
13

Non riesco a trovare questa informazione e la prova e l'errore mi dicono che il valore è molto alto. Così ho pensato di chiedere alla community se qualcuno lo sa e di indicarmi una pagina Apple che conferma la lunghezza di Lion. Tutto quello che so è che è più grande di Snow Leopard.Mac OS X Lion: qual è la lunghezza massima del percorso?

+2

Ho intenzione di uscire su un arto e dire che qualsiasi applicazione che si avvicina da remoto a questo limite è una pessima idea. – jonmorgan

+0

@spookyjon: +1. Probabilmente dipende anche dal filesystem. –

+2

@spookyjon Ti manca il punto, in Windows il 248, in 10.6 il 250, e in Lion sembra molto più grande. Si tratta di testare i limiti per essere sicuri di non violarli, ma per sapere che è necessario sapere quali sono i limiti. Stai facendo delle supposizioni su qualcosa di cui non hai idea e non dovresti avere importanza PERCHÉ io pongo una domanda, ma vota perché non sei d'accordo su ciò che hai fatto, dato che le ipotesi sono davvero pessime. –

risposta

9

I limiti dipendono dal file system utilizzato - OSX utilizza HFS Plus per default ...

Gli unici documenti ufficiali che posso puntare a sono il HFS Plus spec che documentano il limite di 255 per lunghezza del file.

Wikipedia suggerisce che la lunghezza massima del percorso su HFS Plus è "illimitata".

Forse contattare il supporto Apple Dev è il modo più affidabile per ottenere dichiarazioni esatte sui limiti.

11

Vecchio, ma ho trovato una risposta:

#include <sys/syslimits.h> 

e poi Avrà una PATH_MAX costante come #define. Nel mio caso,

char filenameBuffer [PATH_MAX]; 

Si potrebbe hardcoded 1024 come il percorso massima, ma utilizzando una costante del genere rende il codice scalabile con le nuove versioni

+3

Ricorda anche che "NAME_MAX' è il limite per i singoli nomi di file. – CyberSkull

+1

Dalla sperimentazione, sto trovando che per un dato file, utilizzando un percorso di lunghezza 1016 funziona e un percorso di lunghezza 1017 non lo fa, che sembra contraddire quella costante e tutta la documentazione. – Trejkaz

5

Da prova vera e propria su Mac OS X Yosemite, la lunghezza massima percorso è 1016 caratteri. 1017 fallisce.

+0

Testato anche su Sierra, la lunghezza massima del percorso non sembra illimitata – Protongun

+0

Si noti che/tmp,/etc e/var sono collegamenti simbolici a/private/tmp,/private/etc e/private/var. Se provi a creare file in queste directory, sarai in grado di creare percorsi di dimensioni (1024 - len (/ private)), che è 1016 –