2012-01-17 10 views
6

Czy istnieje jakaś standardowa (lub szeroko stosowana) prosta biblioteka manipulacji ścieżkami POSIX dla C (łączenie ścieżek, usuwanie nazw plików itp.)?Standardowa (lub bezpłatna) manipulacja ścieżką POSIX Biblioteka C

Właściwie, ponieważ w większości pracuję pod Windowsem, obecnie używam funkcji ścieżki 'shlwapi'.

Czy istnieje jakiś równoważny zestaw funkcji dostępnych dla ścieżek POSIX?

+2

Offhand: Ponieważ wiele '/' niczego nie rani, a nie ma czegoś takiego jak "rozszerzenie" w systemach POSIX, wiele z tych metod nie jest znaczących ... zazwyczaj można uzyskać dzięki manipulowaniu strunami i 'realpath' lub' glob'. Nie technicznie odpowiedź na to, o co prosiłeś, chociaż ... :-) – BRFennPocock

+3

@BRPocock: Wiele '/' es nie zawsze jest bezpiecznych - np. W [kpathsea] (http://tug.org/texinfohtml/kpathsea.html) , '/ foo //' rozwija się do wszystkich podkatalogów w '/ foo' (co może być niezwykle trudne do znalezienia, jeśli podajesz ścieżkę do czegoś, co wewnętrznie używa kpathsea - na przykład lateksu). –

+0

@timothy Jones ... prawda, chociaż w moim świecie jest to stosunkowo rzadkie ... ale realpath to naprawia, podobnie jak dowiązania symboliczne ... tak jak na swój sposób to glob. – BRFennPocock

Odpowiedz

8
  • ścieżka dołączyć - sprintf()
  • filename stripping - dirname()
  • itp - basename(), realpath(), readlink(), glob(), fnmatch() ...
+0

Dzięki, to jest rodzaj funkcji, które miałem na myśli. Czy zdarzyło Ci się, że znasz ich listę w Internecie, na przykład odpowiednik strony msdn, którą połączyłem? – rotoglup

+0

Nie wiem, dlaczego nie używasz Google do wyszukiwania tych wszystkich słów na stronie? Lub po prostu spójrz na sekcje "ZOBACZ TAKŻE" strony podręcznika dla każdego. –

+0

Po prostu pytając, już próbowałem to sprawdzić, ale nie udało mi się znaleźć żadnej syntetycznej informacji; stosunek szum/sygnał jest dość wysoki, ponieważ funkcja ta istnieje również w PHP, Ruby itp. Anyways ... – rotoglup

Powiązane problemy