2011-09-27 23 views
8

Jak sprawdzić, czy ścieżka jest bezwzględna czy względna, używając C w systemie Linux?Sprawdź, czy ścieżka jest bezwzględna lub względna.

+0

Co dokładnie robisz, co musisz wiedzieć ? –

+0

Postępowanie z dyrektywami "#include" ... "', w szczególności sprawdzanie, czy katalog pliku .c musi zostać dodany do podanej ścieżki. – rwallace

+1

Właściwie powinieneś uważać na ten konkretny przypadek użycia. Zarówno '<>' jak i '' "' warianty '# include' w standardzie C mają zdefiniowany przez implementację sposób wyszukiwania plików nagłówkowych, niekoniecznie to, co myślisz. – paxdiablo

Odpowiedz

16

Ścieżki bezwzględne zaczynają się od znaku /. Coś innego jest prawie względne z katalogu roboczego.

Nawet katalogi z sekwencjami .. w nich są uważane za absolutne, jeśli zaczynają się od /, ponieważ kończą się na tej samej pozycji w systemie plików (chyba że zmienisz łącza i rzeczy, ale to jest poza dyskusją absolutną i względną).

+0

Dziękuję za odpowiedź informacyjną – user2867655

4

Sprawdź, czy ścieżka rozpoczyna się od , czy nie. jeśli ścieżka zaczyna się od /, możesz założyć, że jest absolutna.

8

Jest absolutny, jeśli zaczyna się od /, w przeciwnym razie względny.

3

Sprawdź, czy ścieżka zaczyna się od/lub nie. jeśli ścieżka zaczyna się od/możesz założyć, że jest absolutna, w przeciwnym razie jest względna oznacza, że ​​zaktualizuje się z pwd (obecny katalog roboczy) Ale w przypadku bezwzględnego ścieżka zostanie zaktualizowana względem katalogu głównego

Powiązane problemy