Funkcja OpenDir 3 C

Funkcja OpenDir 3 C
Funkcja opendir () jest powszechnie znana z otwarcia niektórych strumieni katalogów, takich jak nazwa katalogu i zwracanie wskaźnika do tego konkretnego katalogu. Funkcja OpenDir w języku programowania C jest zdefiniowana w pliku nagłówka i jest częścią specyfikacji Posx (przenośny interfejs systemu operacyjnego). Funkcja OpenDir przyjmuje tylko jeden argument, który jest wskaźnikiem postaci. Argument „nazwa” jest zasadniczo ścieżką do katalogu, który otworzymy. Jeśli ścieżka do określonego katalogu nie istnieje lub jest niepoprawna, ta funkcja zwraca null. Jeśli ścieżka katalogu jest poprawna i poprawna, funkcja OpenDIR wyświetla strukturę katalogu typu wskaźnika.

Typ danych DIR służy do wyrażania strumienia katalogu, chociaż nie powinien być przydzielany przez użytkownika. Przyjrzymy się, w jaki sposób ta metoda jest używana w niektórych kodach C w tym artykule.

Przykład 01:

Korzystając z edytora VIM, wyprodukowaliśmy „OpenDirfile.plik C ”. Możesz wybrać dowolny edytor, w tym Nano. Gdy plik jest otwarty w edytorze VIM, wpisz kod pokazany na poniższym zrzucie ekranu. Obecny katalog, który jest skrócony jako kropka (.) jest otwarty i zamknięty w następującym kodzie:

Dane wyjściowe poprzedniego kodu to:

Funkcje czytania i manipulowania katalogami/folderami są dostępne w języku C. Umożliwia programom obsługę plików i wykonywanie innych operacji związanych z plikami.

Przykład 02:

Teraz piszemy zaawansowany kod, aby zrozumieć pełną koncepcję i uczymy się, jak go wykonać i skompilować. Pliki nagłówka są zawarte w pierwszych dwóch wierszach. Następnie wywoływany jest główny podpis funkcji. Widać, że otrzymaliśmy nazwę katalogu od wejść wiersza poleceń głównej funkcji i przekazaliśmy ją do funkcji OpenDir. W ramach głównej funkcji blokowej pierwsza linia to bezpośrednia struktura, która jest zasadniczo reprezentacją systemu katalogu. Może zawierać numer seryjny pliku, a także nazwy folderów znalezionych na dostarczonej ścieżce.

Zdefiniowaliśmy zmienną typu wskaźnika o nazwie PDIR w drugim wierszu kodu. Następnie istnieje instrukcja warunkowa, która służy najczęściej do sprawdzenia, czy wiersz polecenia zawiera prawidłową ilość argumentów. Jeśli dostarczone wartości są nieprawidłowe, wydrukuj wiadomość i wyjdź z funkcji bez wykonywania następującego kodu. Jeśli wejście jest prawidłowe, przechowuj je w zmiennej PDIR i sprawdź, czy nie jest to null. Jeśli jest to zerowe, oznacza to, że nie ma katalogu lub ścieżka jest nieprawidłowa lub nielegalna.

W takim przypadku instrukcja powrotu jest wykonywana, a kompilator kończy wykonywanie wierszy kodu poniżej. Jeśli parametr PDIR nie jest zerowy, wskazuje, że nazwa katalogu podana przez użytkownika jest uzasadniona i poprawna, a katalog istnieje, który może zawierać pliki i foldery. Funkcja ReadDir jest używana w pętli While w poniższych wierszach kodu do wyświetlania nazw plików i folderów, które istnieją w tym katalogu. Na końcu linii zamykamy zmienną PDIR. Aby uzyskać kompleksową listę plików wygenerowanych w katalogu roboczym, użyj polecenia „LS”. Więcej informacji można znaleźć na poniższym ekranie:

Następnie użyj kompilatora GCC, aby skompilować plik C. Jeśli system nie ma kompilatora GCC, użyj następującego polecenia, aby zainstalować kompilator w systemie operacyjnym lub maszynie wirtualnej:

Aktualizacja $ sudo apt
$ sudo apt instal instalacja kompilacji

Możesz sprawdzić, czy zainstalowałeś go już w systemie operacyjnym lub maszynie wirtualnej, wykonując następujące polecenie:

GCC -IVERSION

Teraz masz wszystko, czego potrzebujesz, aby skompilować i uruchomić/wykonać kod C. Aby rozpocząć, użyj polecenia podanego na obrazie, aby zbudować kod. Następnie wpisz „GCC” i nazwę pliku, dla którego chcesz skompilować lub opracować plik obiektowy lub wyjściowy. Jeśli nie określisz pozostałych argumentów w wierszu poleceń, wyjście zostanie wygenerowane i zapisane w „.OUT ”plik.

Jeśli jednak chcesz nazwać plik wyjściowy, co chcesz, wpisz „-O”. Następnie wpisz nazwę pliku wyjściowego, a następnie „.rozszerzenie ”.

Przed kontynuowaniem, kilka innych rzeczy, o których musisz wiedzieć, że w Macintosh i późniejszych systemach Windows używany jest termin „folder”. Kiedyś był to katalog, lista plików zapisanych na multimediach pamięci. Aby wykonać plik, wystarczy użyć następującego polecenia, które zawiera „./NAZWA PLIKU WYJŚCIOWEGO.na zewnątrz". Jak widać, jeśli wykonamy plik wyjściowy bez żadnych argumentów wiersza poleceń, takich jak ścieżka katalogu, otrzymujemy błąd stwierdzający, że wejście jest nieprawidłowe.

Kiedy wykonujemy plik wyjściowy, podajemy nazwę katalogu na następującym ekranie. Możesz zobaczyć listę plików i folderów, które istnieją w katalogu Works po naciśnięciu klawisza Enter.

Inną opcją dostarczania nazwy katalogu jest wpisanie całej ścieżki katalogu lub tylko części ścieżki, w której się teraz znajdujemy. W poniższym przykładzie dostarczamy „prace/prace”, które obejmują nasze obecne prace, a następnie prace, a następnie wewnątrz folderu Works.

Jak widać w poniższym przykładzie, określiliśmy nazwę katalogu lub folderu, która nie istnieje w bieżącym katalogu, w którym znajduje się nasz plik wyjściowy. Jeśli PDIR zwraca zer, wyświetlamy lub zgłaszamy błąd wskazujący, że nie można otworzyć katalogu.

Wniosek

W tym artykule dotyczy użycia funkcji C opendir () w Kali Linux z demonstracją procesu pracy. Omówiliśmy proste, ale wydajne przykłady C, aby osiągnąć wymagane wyniki. Inne funkcje POSIX są używane do pomocy bocznej w kodach.