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?
Odpowiedz
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.
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ń
Należy również pamiętać, że 'NAME_MAX' to również limit dla poszczególnych nazw plików. – CyberSkull
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
od rzeczywistych testów na Mac OS X Yosemite, max długości drogi to 1016 znaków. 1017 kończy się niepowodzeniem.
Testowany również na Sierra, maksymalna długość ścieżki nie wydaje się być nieograniczona. – Protongun
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 –
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
@spookyjon: +1. Prawdopodobnie zależy również od systemu plików. –
@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. –