command line arguments c
Eine kurze Einführung in Befehlszeilenargumente in C ++.
Wir haben bereits die Verwendung von Argumenten oder Parametern in unserem Tutorial zu Funktionen gesehen. Wir haben auch den Zweck gelernt, Argumente an / von Funktionen zu übergeben.
Wir können auch Argumente an die Hauptfunktion übergeben lassen. Diese werden wiederum als 'Befehlszeilenargumente oder Befehlszeilenparameter' bezeichnet.
=> Hier finden Sie A-Z der C ++ - Schulungsanleitungen.
Was du lernen wirst:
- Was sind Befehlszeilenargumente?
- Wie kann man Befehlszeilenargumente lesen / abrufen?
- Fazit
- Literatur-Empfehlungen
Was sind Befehlszeilenargumente?
Wir kennen den grundlegenden Prototyp der Hauptfunktion in C ++. Normalerweise hat es den Rückgabetyp int und es werden keine Argumente an ihn übergeben.
Was ist der Unterschied zwischen C ++ und Java
int main()
Wir können jedoch auch Argumente an die Hauptfunktion von C ++ übergeben, die als Befehlszeilenargumente bezeichnet werden. Befehlszeilenargumente werden während der Ausführung des Programms in einer Befehlszeilen-Shell nach dem Namen des Programms angegeben.
Um Befehlszeilenargumente zu übergeben, wird die Hauptfunktion mit zwei Argumenten übergeben. Der Prototyp der Hauptfunktion ändert sich dann zu
int main(int argc, char* argv()){}
ODER
int main(int argc, char** argv){}
Die beiden Argumente werden nachfolgend beschrieben:
# 1) Argumentanzahl (ARGC)
Dies ist ein nicht negatives ganzzahliges Argument, das die Anzahl der Befehlszeilenargumente einschließlich des Programmnamens enthält. Wenn also ein Programmname übergeben wird, hat argc den Wert 1.
# 2) Argumentvektor (ARGV)
Argv ist ein Array von Zeichenzeigern, das alle Befehlszeilenargumente enthält, die an die Hauptfunktion übergeben werden. Wenn ARGC größer als Null ist, enthält Argv (0) den Namen des Programms. Argv (1) bis argv (argc -1) enthalten die anderen Befehlszeilenargumente.
Wie kann man Befehlszeilenargumente lesen / abrufen?
Nachdem wir die Parameter für count und die tatsächlichen Befehlszeilenargumente gesehen haben, wollen wir sehen, wie wir Befehlszeilenargumente in einem C ++ - Programm verwenden können.
Beachten Sie, dass wir das Programm über die Befehlszeilen-Shell ausführen müssen, um die vollständige Funktionalität der Befehlszeilenargumente zu erhalten.
Lassen Sie uns zunächst die Ausgabe des Programms sehen, in der wir keine Befehlszeilenargumente angeben.
#include using namespace std; int main(int argc, char** argv) { cout << 'Number of command line arguments (argc) entered: ' << argc<Das obige Codebeispiel zeigt, wie wir die Befehlszeilenargumente lesen und analysieren können.
Zuerst drucken wir die Anzahl der Befehlszeilenargumente, die der erste Parameter direkt an die Hauptfunktion argc gibt. Mit der for-Schleife durchlaufen wir dann den Argumentvektor argc, der ein Zeichenarray ist.
Diese Schleife wird von 0 bis argc ausgeführt, da argc die Gesamtzahl der Befehlszeilenargumente ist, die während der Ausführung an das Programm übergeben wurden.
Jetzt werden wir das obige Programm ausführen,
# 1) Ohne Befehlszeilenargumente zu übergeben.
In diesem Fall führen wir das obige Programm mit dem folgenden Befehl aus:
$ ./a.out
Hier führen wir das Programm einfach ohne Befehlszeilenargumente aus. Die Ausgabe wird unten gezeigt. In diesem Fall wird, da keine Argumente angegeben werden, nur der Programmname verwendet und der argc zeigt 1 an, wobei argv (0) der Programmname ist.
Unterschied zwischen Sit- und Uat-Tests
Ausgabe:
Anzahl der eingegebenen Befehlszeilenargumente (argc): 1
argv (0): ./a.out
# 2) Übergeben von drei Befehlszeilenargumenten
In diesem Fall übergeben wir drei Argumente an die Befehlszeile, indem wir den folgenden Befehl geben.
$ ./a.out one two three
Hier haben wir drei Befehlszeilenargumente angegeben.
Wenn wir das obige Programm mit diesen Argumenten ausführen, erhalten wir die folgende Ausgabe.
Anzahl der eingegebenen Befehlszeilenargumente (argc): 4
argv (0): ./a.out
argv (1): eins
argv (2): zwei
argv (3): drei
Die obige Ausgabe zeigt den argc-Wert als 4. Dies beinhaltet den Programmnamen und die drei Argumente, die wir in die Befehlszeile eingegeben haben. Wenn wir das argv-Array sehen, das wir drucken, ist argv (0) der Programmname, und die nachfolgenden Array-Elemente enthalten die drei Argumente, die wir übergeben haben.
Punkte, die man sich merken sollte
Unix-Interviewfragen zur Produktionsunterstützung
- In Befehlszeilenargumenten ist argv (argc) ein NULL-Zeiger.
- Argv (0) enthält immer den Programmnamen.
- Argv (1) enthält das erste Befehlszeilenargument, während argv (n) das letzte Befehlszeilenargument ist.
- Befehlszeilenargumente werden an die Hauptfunktion übergeben.
- Wir sollten Befehlszeilenargumente übergeben, wenn das Programm aufgerufen oder ausgeführt wird.
- Befehlszeilenargumente steuern das Programm von außen, während wir die Argumente über die Befehlszeile übergeben.
Fazit
In diesem Tutorial haben wir die Befehlszeilenargumente von C ++ gesehen.
Diese sind wirklich nützlich, wenn wir das Programm extern steuern müssen. Anstatt einige Werte im Programm fest zu codieren, können wir auch Befehlszeilenargumente verwenden, um diese Werte zu übergeben.
=> Überprüfen Sie hier die komplette C ++ - Schulungsserie.
Literatur-Empfehlungen
- Befehlszeilenargumente in Unix Shell Script mit Beispiel
- Befehl in Unix mit Beispielen ausschneiden
- Unix Cat-Befehlssyntax, Optionen mit Beispielen
- Ls-Befehl unter Unix mit Beispielen
- Grep-Befehl unter Unix mit einfachen Beispielen
- Unix-Sortierbefehl mit Syntax, Optionen und Beispielen
- Tar-Befehl unter Unix zum Erstellen von Backups (Beispiele)
- Beste KOSTENLOSE C # Tutorial-Serie: Der ultimative C # Leitfaden für Anfänger