Składnia:
Obydwa 'argc ' I 'argv ' są parametrami instrukcji Count jako akceptowanej przez funkcję main (). 'Optstring„jest argumentem ciągu, który musi rozpoznać znaki opcji. Każda postać śledzona przez jelita grubego „:” jest uważana za argument. „Optind” to zainicjowana zmienna, która jest uważana za indeks następnego elementu, w którym jest ona w kolejce do przetwarzania.
Cel użycia getopt w C:
Funkcja getOpt () jest wbudowana w c, która służy do analizowania argumentów wiersza poleceń.
Wartość zwracana w funkcji getOpt ()
Jeśli getOpt () znajdzie znak opcji, który nie jest w „optstring”, zwróci (”?') znak jako wyjście. Jeśli brakuje argumentu jako opcji, powinien zwrócić dwukropek („:”) jako wyjście. GetOpt () ustawi zmienną „optopt” na wybrany znak, który wywołał błąd w obu przypadkach. GetOpt () odpowiednio wydrukuje wskaźnik do STDDERR w składni zdefiniowanej dla narzędzia „getopts”, jeśli zmienna „opterr” nie jest ustawiona na 0, a początkowym znakiem „optstring” nie jest okrężnicy.
Funkcja getopt () nie musi być ponownie dostępna. Bezpieczeństwo wątków nie jest obowiązkowe w przypadku funkcji, która nie ma być ponownie wejściowa.
Przykład getopt () w c:
Weźmy prosty program, który akceptuje użytkowników jako -U i -G dla grupy. Przede wszystkim musisz dołączyć plik nagłówka dla funkcji getopt ().
#włączać
Skonfigurujmy główną funkcję, w której mamy „argc” jako tablicę liczb całkowitych i postaci jako „** argv”. Teraz skonfigurujemy kilka zmiennych i ustawym nazwę całkowitą opcję_index = 0; Ponieważ każdy z argumentów, które zamierzamy dostarczyć, będzie miał numer indeksu, abyśmy mogli go iterować przez wszystkie argumenty. Ustawiamy lub inicjujemy go do 0, aby zatrzymać ostrzeżenie, ponieważ możemy używać zmiennej nie zainicjowanej.
Ponieważ nie mamy typu danych String w C, konfigurujemy tablicę znaków dla „-u”, aby przyjąć nazwę użytkownika jako wejście i inicjować ją z wartością zerową.
Teraz wejdziemy w pętlę w czasie, a pozwoli nam to odczytać wszystkie argumenty, jeśli zostaną ustawione jakiekolwiek opcje. Podobnie jak w przypadku warunków, potrzebujemy naszych nawiasów, aby otrzymać je z prawdziwą wartością, która w naszym przypadku jest „option_index = getOpt (argc, argv,„ gu: ”)”. Użyjemy getOpt (), aby spojrzeć na naszą liczbę argumentów jako „argc” i przeczytać z naszej tablicy „argv”, aby ustawić opcje. Podobnie, oto opcja „gu:” i umieściliśmy okrężnicę po flagi „U”. „:” Po wartości flagi wskazuje, że nabywa argument. Nie ma znaczenia, w jakiej kolejności składasz opcje, ale ma znaczenie, że umieszczasz okrężność po opcjach.
Teraz będziemy mieli instrukcję przełącznika w naszej pętli i zbadamy wartość przechowywaną w indeksie zmiennej „Option_Index”. Badamy każdy element dla każdego przypadku.
Najpierw ustawimy przypadek, w którym ustawiamy „User_name = Optarg”. Opcje można użyć do odczytania użytkownika, który dodaliśmy jako dane wejściowe po wprowadzeniu „U”. Musimy również wskazać, że skończyliśmy z tą sprawą i robimy to w języku C, używając „przerwy” po każdym przypadku.
Podobnie, używamy drugiego przypadku, w którym jeśli użytkownik wprowadzi „g”, zostanie on wskazany, że wybrał grupę, a my również odejdziemy od tego stwierdzenia.
Teraz w ostatnim przypadku używamy go dla dowolnych innych opcji, które w naszym przypadku mogą być dowolnym błędem. Możemy to odebrać za pomocą „Domyślnie:” i możemy przejść i określić, czy nieprawidłowa opcja jest zidentyfikowana lub wprowadzona. Będziemy wyświetlać instrukcje drukowania z „Niepoprawną opcją”.
Zamierzamy też trochę różnorodność. Mamy nadzieję, że nie widziałeś wcześniej wartości zwracania. Jeśli umieścimy wartość zwracaną na 1, opuścimy główną funkcję. Nasz program zgłosi błąd, co oznacza, że nieprawidłowo uruchomiliśmy program, więc nie chcemy zwracać 0, więc opuszczymy program w jego punkcie.
Teraz zamknęliśmy już wszystkie bloki i upewniliśmy się, że zwykle wróciliśmy do głównych nawiasów. Program zwykle zwraca wartość 0 do funkcji głównej. Z powodzeniem kontrolowaliśmy działanie awarii przez nasz program.
Zobaczmy, czy nasz program działa; Po wpisaniu następującego kodu chcielibyśmy, abyś umieścił to polecenie w wierszu poleceń. Użyliśmy GCC i poszliśmy prosto do kodu źródłowego „Option_program.C ', a następnie użyłem „-o” do opcji. Następnie będzie to argument, a tutaj „proste” jest wyjście.
Po wykonaniu naszego „GCC Simple_Option.c -o proste -wall ' Polecenie pomyślnie, teraz przechodzimy i uruchamiamy z niepoprawną opcją, która jest „-h”. Użycie „-H” jako opcji da nam błąd, ponieważ wysłaliśmy nieprawidłową opcję. Możemy również używać obu argumentów razem, odpowiednio, uzyskując wynik.
Tutaj możemy zobaczyć, czy chcemy wiedzieć, w jaki sposób nasz ostatni program został wykonany. Jeśli wpiszesz „echo $?”, A jeśli zwróci 0, oznacza to, że ostatni program został pomyślnie wykonany, a jeśli zwróci 1, jak widać na powyższym obrazie, co oznacza, że ostatnie wykonanie programu nie powiodło się.
Wniosek:
Ten artykuł miał na celu lepsze i jasne zrozumienie funkcji getOpt (), abyś mógł poprawić czytelność kodu i poprawić ponowne użycie kodu. Omówiliśmy prosty przykład z składnią. Artykuł pomoże ci łatwo uzyskać bardzo solidną wiedzę i zrozumienie, jak używać getopt () jako funkcji. Różne argumenty jako parametry zostały omówione w celu lepszego wykorzystania funkcji.