So verwenden Sie die Funktion main () Argumente in C-Programmierung

Zurück in den alten Tagen, featured Programme Befehlszeilenoptionen oder Switches. Zum Beispiel ein C-Programm zu kompilieren und zu verknüpfen, würden Sie so etwas wie dieses geben:

cc ex1501.c -o ex1501

Die drei Häppchen Text nach dem Befehl cc sind Optionen oder Schalter. Sie sind auch Argumente der Funktion main (). Ein Programm kann diese Argumente zu lesen, auch heute noch, wenn die Welt grafischen Betriebssystemen läuft. Alles, was Sie in Ihrem Code tun müssen, ist es, die Argumente für die Funktion main () untersuchen.

Wie die Kommandozeile zu lesen

Behaupten, dass es 1987 ist und Sie schreiben ein Programm, das sagt # 147-Hallo # 148- an den Benutzer nach dem Namen. Die Art und Weise Sie den Namen des Benutzers erhalten, ist Ihr Code zu haben, das erste Stück Text schlucken, die in der Befehlszeile nach dem Programmnamen angezeigt. Dieser Code kann so etwas wie Gut aussehen, Hallo zusammen!

WELL, HALLO DORT!

# include int main (int argc, char * argv []) {if (argc> 1) printf ( "Grüße,% s n", argv [1]) - return (0) -}

Zeile 5 verwendet den int-Wert argc, um zu bestimmen, ob zusätzliche Elemente nach dem Programmnamen an der Eingabeaufforderung eingegeben wurden.

Line 6 verwendet den String-Wert (char-Array) argv [1] das erste Element nach dem Programmnamen an der Eingabeaufforderung angezeigt werden soll.

Übung 1: Geben Sie den Quellcode von Gut hallo dort! in ein neues Projekt. Erstellen und ausführen.

Das Programm zeigt keine Ausgabe, es sei denn ein Befehlszeilenargument angegeben. Um das zu erreichen in Code :: Blocks, gehen Sie folgendermaßen vor:

  1. Wählen Sie Projekt-Set Programs 'Argumente.

    Das Select Target Dialogfeld erscheint.

    bild0.jpg
  2. Befehlszeilentext im Programmargumente Teil des Select Target Dialogfeld ein.

  3. Klicken Sie auf die Schaltfläche OK.

  4. Führen Sie Ihr Programm erneut seine Ausgabe der Befehlszeilenargumente gegeben, um zu sehen.

Wenn Sie an der Eingabeaufforderung sind Codierung, können Sie das Programm wie folgt ausführen:

ex1501 Sadrachs

Drücken Sie die Enter-Taste, um das Programm auszuführen.

Der Code verwendet nur den ersten Befehlszeilenargument, so dass, wenn Sie schreiben mehr, werden sie ignoriert. Beispielsweise:

ex1501 Sadrachs Meshach Abed

In der vorhergehenden Zeile erscheint, nur Sadrachs Namen in der Ausgabe.

Grundlagen der Main()'S Argumente

Wenn Sie nicht auf Ihrem Programm planen keine Befehlszeilenargumente akzeptieren, können Sie die Funktion main () die Klammern leer lassen. So was:

int main ()

Wenn Argumente in Ihrem Code verwendet werden, müssen sie deklariert werden. Mit sieht sie wie folgt aus:

int main (int argc, char * argv [])

argc ist das Argument Zählwert. Es ist eine ganze Zahl, die jedoch von 1 bis an der Eingabeaufforderung nach dem Programmnamen eingegeben haben viele Elemente Bereiche wurden.

* Argv [] ist ein Array von char Zeiger. Sie können stattdessen als ein Array von Strings daran denken, das ist, wie es in Ihrem Code verwendet werden kann.

Der Code in Argument Zähler zählt nur die Anzahl der Argumente in der Befehlszeile eingegeben haben. Dieser Wert wird argc, angezeigt.

ARGUMENT COUNTER

# include int main (int argc, char * argv []) {printf ( "Sie getippt% d Argumente. n", argc) -return (0) -}

Übung 2: Geben Sie den vorhergehenden Quellcode. Erstellen und Ausführen von keine Argumente eingeben.

Die Funktion main () erhält Informationen über die Befehlszeilenargument direkt aus dem Betriebssystem. Die Befehlszeile wird ausgewertet und Argumente werden ausgezählt und verwiesen. Die Tally erscheint als argc, und die Referenzen sind in der argv [] Array gespeichert.

Wenn keine Argumente eingegeben werden - in Code :: Blocks, dass die Programmargumente Fenster bedeutet, bleibt leer - Sie sehen diese Ausgabe:

Sie tippte 1 Argumente.

Das ist, weil der Programmname selbst das erste Argument betrachtet wird. Sie können es beweisen, indem sie eine einzige Zeile mit dem Code hinzufügen:

printf ( "Dieses Argument ist% s. n", argv [0]) -

Übung 3: Ändern Sie Ihren Quellcode durch die vorhergehende Zeile zugesetzt, nach dem ersten printf () Erklärung eingefügt wird. Erstellen und ausführen.

Die Ausgabe des Programms zeigt nun den Namen des Programms - höchstwahrscheinlich, einen vollständigen Pfad zu dem Programm, das genau ist, aber ein bisschen viel des Guten.

Übung 4: Ändern Sie den Code erneut, dieses Mal das Hinzufügen einer for-Schleife die Argumente durch alle arbeiten und jeder Anzeige. Zum Beispiel kann die Ausgabe wie folgt aussehen:

begc4d $ ./ex1504 Sadrachs Meshach AbednegoArg # 1 = ./ex1504Arg#2 = ShadrachArg # 3 = MeshachArg # 4 = Abed

Menü