Getopt 3 C -Funktion

Getopt 3 C -Funktion
Die Funktion getopt () ist eine integrierte Funktion in der C-Programmierung, und wir verwenden sie für die Parsing-Befehlszeilenargumente in der C-Programmiersprache C. Wenn wir die Befehlszeilenargumente analysieren wollen, verwenden wir dort diese "getopt ()" -Funktion. Diese Funktion „getopt ()“ kann als bedingte Anweisung innerhalb der Schleife verwendet werden. Wenn die Methode „getopt ()“ -1 -1 zurückgibt, ist die Schleife vorbei. Mit dem Wert der Funktion „getopt ()“ wird eine Switch -Anweisung in Aktion gestellt. Die verbleibenden zusätzlichen Argumente, die in der ersten Schleife nicht behandelt werden können, werden in einer zweiten Schleife ausgeführt.

In diesem Artikel werden wir diese Funktion „getopt ()“ in unserem C -Programm nutzen und auch die Funktionsweise dieser „getopt ()“ -Funktion erläutern.

Syntax der GetOpt 3 -Funktion in der C -Sprache



Wir haben eine ganze Zahl "int" mit dem Namen "Argc". Das „Zeichen“ heißt „const argv []“, ein Array, und auch der „const char“ mit dem Namen "Optstring". Dieses Optstring ist nur eine Reihe von Zeichen, von denen jede für eine einzelne Option steht.

Beispiel 1

In diesem Artikel werden diese angegebenen Beispiele auf Ubuntu 20 ausgeführt.04. Um dies auszuführen, Ubuntu 20.04 Lassen Sie den GCC installieren. Nach dem Installieren schreiben wir einen Code in unsere C -Programmiersprache, um Ihnen die Funktionsweise der Funktion „getopt ()“ anzuzeigen. Hier schreiben wir Codes im Texteditor von Ubuntu 20.04. Zunächst fügen wir zuerst mehrere Header -Dateien zu dem unten angegebenen Code hinzu, wie z. B. „“, die zum Drucken auf dem Bildschirm verwendet werden.

Anschließend verwenden wir die Header -Datei "", die zum Zugriff auf die OS -API „POSIX“ verwendet wird. Jetzt haben wir eine "main ()" -Funktion und übergebenen Parameter an diese Main () -Funktion als "argc" des "int" -Datentyps und "argv []" -Array des "char" -Datentyps. In dieser Funktion "main ()" haben wir "opt" und es ist auch ein "int" -Datentyp. Danach haben wir eine "while" -Schloop und nutzen die Funktion „getopt ()“ als Bedingung dieser Schleife. Wir setzen das „Opt“ hier und initialisieren es mit der Funktion „getopt ()“. Und wir setzen die Bedingung hier ein, dass diese Funktion „getopt ()“ nicht gleich „-1“ ist.

Anschließend haben wir eine "Switch" -Anweisung, in der wir "opt" als Parameter bestehen. Dann haben wir verschiedene Fälle. Es überprüft diese Bedingungen, wenn der erste Fall nicht erfüllt ist, und bewegt sich dann zum nächsten Fall. Wenn der Fall wahr und erfüllt ist, wird die Aussage darin ausgeführt, und wir haben die Anweisung „Break“. Wir haben die Anweisung „printf“ in all diesen Fällen der Switch -Anweisung. Im Fall von "L", "H" und "M" setzen wir die Anweisung "printf", die das "Zeichen" auf den Ausgangsbildschirm druckt. Bei „F“ druckt es den „Dateinamen“ aus.

Wir setzen das „:“ zu Beginn der Zeichenfolge, damit es leicht zwischen „:“ und “unterscheiden kann?”. Wenn es keine Alternativen zum Prozess mehr gibt, lautet das Ergebnis „-1“. Der "?”Wird angezeigt, wenn eine Option nicht erkannt wird und im externen variablen Optopt gespeichert ist. Das GetOPT kehrt normalerweise zurück, wenn eine Option einen Wert erwartet (wie -F in unserem Beispiel), aber keiner wird geliefert. Wir haben auch die „für“ -Schloop, die für die zusätzlichen Argumente hier ist, die nicht analysiert werden. In der Anweisung "if" haben wir die Anweisung "printf", die zum Drucken der angegebenen Anweisung auf dem Terminalbildschirm verwendet wird.



Hier ist das Endergebnis des Overhead -Skripts, und Sie werden sehen, wie diese Funktion hier funktioniert. Wir erhalten diese Ausgabe, indem wir die Befehle eingeben, die im folgenden Screenshot angezeigt werden:

Beispiel # 2

Hier haben wir ein weiteres Beispiel, in dem wir die Header -Dateien verwenden. Die hier verwendeten Header -Dateien sind „stdio. H ”und„ Getopt. H". Für das Lesen und Schreiben von Zeichen in Dateien das „stdio. H ”Header -Datei wird verwendet. Wir haben die Funktion "int" -Typen "Haupt", bei der wir zwei Parameter als "int" und "char" -Datentypen übergeben.

Dann öffnen wir die lockigen Klammern der „Haupt“ -Funktion und deklarieren und initialisieren Sie den Optionsindex als "int" -Datentyp. Der Datentyp "char" wird als "user_name" bezeichnet und mit "NULL" initialisiert. Danach setzen wir die "while" -Schloop und haben dieser Funktion "getopt ()" dieser "Option_index" zugewiesen. Im Folgenden haben wir die Switch -Anweisung und übergeben diese „Option_index“ an diese Switch -Anweisung, und verschiedene Fälle dieser Switch -Anweisung finden Sie hier. Im ersten Fall "U" haben wir zwei "Printf" -Anweisungen und wir geben die Erklärung "Break" hier. Im Fall von „G“ geben wir nur eine „Printf“ -Anweisung an, und dann haben wir "Pause". Wir müssen nach jedem Fall der Switch -Anweisung „brechen“.

Jetzt verwenden wir auch den „Standard“. Dies wird nur ausgeführt, wenn alle Bedingungen nicht erfüllt sind. Wenn alle Fälle falsch sind, wird diese Anweisung „Standard“ ausgeführt. Wir geben auch die Anweisung "printf" in diese Anweisung "Standard" ein und schließen dann alle Klammern.


Darunter die Ausgabe des zweiten Beispiels. Der vorherige Code gibt die Ausgabe an, die im folgenden Screenshot angezeigt wird:

Abschluss

Der Schwerpunkt dieses Artikels liegt darauf, Ihnen zu zeigen, wie Sie die C -Programmierfunktion „getopt ()“ nutzen können. In diesem Artikel haben wir uns die Funktion „getopt ()“ angesehen und ihre Zwecke, Rechtfertigung, Verwendung und Ergebnisse behandelt. Dieser Artikel hat bereits die Funktion „getopt ()“ in C behandelt. In der C-Programmierung wird die Funktion „getopt ()“ zum Parsen-Befehlszeilenargumenten in C verwendet, wie wir bereits besprochen haben. Hier haben wir uns mehrere Beispiele angesehen. Die Ausgabe aus jedem Beispiel in diesem Artikel wurde ebenfalls zusammen mit den C -Programmiercodes für die Verwendung der Funktion „getopt ()“ angezeigt. Nachdem wir diesen Artikel sorgfältig gelesen haben, sind wir zuversichtlich, dass Sie eine feste Interpretation des „getopt ()“ haben werden.