2011-08-21 14 views
13

Mam problem ze znalezieniem tych informacji, a próba i błąd informują mnie, że wartość jest bardzo wysoka. Więc pomyślałem, że pytam społeczność, czy ktoś wie i może wskazać mi stronę z jabłkami, która potwierdza długość Lwa. Wiem tylko, że jest większy niż Snow Leopard.Mac OS X Lion: Jaka jest maksymalna długość ścieżki?

+2

Mam zamiar wyjść na kończynę i powiedzieć, że każda aplikacja, która zdalnie zbliża się do tego limitu jest naprawdę złym pomysłem. – jonmorgan

+0

@spookyjon: +1. Prawdopodobnie zależy również od systemu plików. –

+2

@spookyjon Tęskniłeś za punktem, w Windowsie jego 248, w 10.6 jego 250, aw Lwie wydaje się znacznie większy. Chodzi o testowanie limitów, aby upewnić się, że nie naruszysz ich, ale musisz wiedzieć, jakie są granice. Tworzysz założenia o czymś, o czym nie masz pojęcia i nie powinno to mieć znaczenia. DLACZEGO zadaję pytanie, ale głosuję w dół, ponieważ osobiście nie zgadzasz się z tym, co zrobiłeś, ponieważ założenia są naprawdę złe. –

Odpowiedz

9

limity zależą od używanego systemu plików - OSX używa HFS + domyślnie ...

Jedynymi dokumentami oficjalnymi mogę wskazują na to HFS Plus spec które dokumentują limit 255 na długości nazw plików.

Wikipedia podpowiedzi, że maksymalna długość ścieżki w HFS Plus jest "nieograniczona".

Być może kontakt ze wsparciem Apple Dev jest najbardziej niezawodnym sposobem uzyskania dokładnych informacji o limitach.

11

Stary, ale znalazłem odpowiedź:

#include <sys/syslimits.h> 

i wtedy będziemy mieć PATH_MAX stałej jak #define. W moim przypadku,

char filenameBuffer [PATH_MAX]; 

Można zakodować 1024 jako maksymalna ścieżce, ale przy stałej takiego sprawia, że ​​Twój kod skalowalne z nowych wydań

+3

Należy również pamiętać, że 'NAME_MAX' to również limit dla poszczególnych nazw plików. – CyberSkull

+1

Z eksperymentowania, stwierdzam, że dla danego pliku, używając ścieżki o długości 1016 utworów i ścieżki o długości 1017, nie jest to, co wydaje się zaprzeczać tej stałej, a także całej dokumentacji. – Trejkaz

5

od rzeczywistych testów na Mac OS X Yosemite, max długości drogi to 1016 znaków. 1017 kończy się niepowodzeniem.

+0

Testowany również na Sierra, maksymalna długość ścieżki nie wydaje się być nieograniczona. – Protongun

+0

Należy zauważyć, że/tmp,/etc i/var są dowiązaniami symbolicznymi do/private/tmp,/private/etc i/private/var. Jeśli spróbujesz utworzyć pliki w tych katalogach, będziesz mógł tworzyć ścieżki o rozmiarze (1024 - len (/ private)), czyli 1016 –

Powiązane problemy