Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> C Sprache

C - Befehlszeilenargumente

Es ist möglich, einige Werte von der Befehlszeile an Ihre C-Programme zu übergeben, wenn sie ausgeführt werden. Diese Werte werden als Befehlszeilenargumente bezeichnet und oft sind sie wichtig für Ihr Programm, besonders wenn Sie Ihr Programm von außen steuern möchten, anstatt diese Werte fest im Code zu codieren.

Die Befehlszeilenargumente werden mithilfe von main()-Funktionsargumenten behandelt, wobei argc bezieht sich auf die Anzahl der übergebenen Argumente und argv[] ist ein Zeigerarray, das auf jedes an das Programm übergebene Argument zeigt. Das Folgende ist ein einfaches Beispiel, das prüft, ob ein Argument von der Befehlszeile geliefert wird, und entsprechende Maßnahmen ergreift −

#include <stdio.h>

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

   if( argc == 2 ) {
      printf("The argument supplied is %s\n", argv[1]);
   }
   else if( argc > 2 ) {
      printf("Too many arguments supplied.\n");
   }
   else {
      printf("One argument expected.\n");
   }
}

Wenn der obige Code kompiliert und mit einem einzigen Argument ausgeführt wird, erzeugt er das folgende Ergebnis.

$./a.out testing
The argument supplied is testing

Wenn der obige Code kompiliert und mit zwei Argumenten ausgeführt wird, erzeugt er das folgende Ergebnis.

$./a.out testing1 testing2
Too many arguments supplied.

Wenn der obige Code kompiliert und ausgeführt wird, ohne irgendein Argument zu übergeben, erzeugt er das folgende Ergebnis.

$./a.out
One argument expected

Es sollte beachtet werden, dass argv[0] enthält den Namen des Programms selbst und argv[1] ist ein Zeiger auf das erste angegebene Befehlszeilenargument und *argv[n] ist das letzte Argument. Wenn keine Argumente angegeben werden, ist argc eins, und wenn Sie ein Argument übergeben, dann argc auf 2 gesetzt.

Sie übergeben alle Befehlszeilenargumente durch ein Leerzeichen getrennt, aber wenn das Argument selbst ein Leerzeichen enthält, können Sie solche Argumente übergeben, indem Sie sie in doppelte Anführungszeichen "" oder einfache Anführungszeichen '' setzen. Lassen Sie uns das obige Beispiel noch einmal umschreiben, wo wir den Programmnamen ausgeben und wir übergeben auch ein Befehlszeilenargument, indem wir doppelte Anführungszeichen einfügen −

#include <stdio.h>

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

   printf("Program name %s\n", argv[0]);
 
   if( argc == 2 ) {
      printf("The argument supplied is %s\n", argv[1]);
   }
   else if( argc > 2 ) {
      printf("Too many arguments supplied.\n");
   }
   else {
      printf("One argument expected.\n");
   }
}

Wenn der obige Code kompiliert und mit einem einzelnen, durch Leerzeichen getrennten Argument, aber in doppelten Anführungszeichen ausgeführt wird, erzeugt er das folgende Ergebnis.

$./a.out "testing1 testing2"

Program name ./a.out
The argument supplied is testing1 testing2

C Sprache

  1. Decoder
  2. Python-Funktionsargumente
  3. Java-Befehlszeilenargumente
  4. Was ist Leitungseffizienz?
  5. Was ist eine Produktionslinie?
  6. Was ist eine Baulinie?
  7. Was ist ein Bridge Tap?
  8. Was ist ein Fließband?
  9. Eine Einführung in die Präzisions-Längsteilanlage
  10. Upgrades der chemischen Verpackungslinie