Latest web development tutorials

Parametry wiersza poleceń C

W trakcie realizacji programu, linia poleceń może przekazać wartości do programu C. Wartości te są określane jakoargumenty wiersza polecenia są ważne do programu, zwłaszcza jeśli chcemy sterować z zewnętrznego programu, a nie w kodzie, gdy te wartości są zakodowane, jest to szczególnie ważne.

Parametry linii polecenia jest stosowany głównie funkcję (parametry) doprzetwarzania, przy czym argc oznacza liczbę przekazywanych parametrówargv [] jest tablicę wskaźników, a każdy z parametrów przekazane do punktu programu. Oto prosty przykład, aby sprawdzić, czy istnieje argument wiersza poleceń jest i wykonać odpowiednie działania zgodnie z parametrami:

#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");
   }
}

Za pomocą parametru, skompilować i wykonać powyższy kod, będzie produkować następujące wyniki:

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

Dwa argumenty, skompilować i wykonać powyższy kod, będzie produkować następujące wyniki:

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

Nie przechodzą żadnych parametrów, skompilować i wykonać powyższy kod, będzie produkować następujące wyniki:

$./a.out
One argument expected

Należyzauważyć, argv [0], aby zapisać nazwę programu,argv [1] jest wskaźnikiem do pierwszego wskaźnika argument wiersza poleceń, * argv [n] jest ostatni parametr. Jeśli bez argumentów, argc będzie 1. W przeciwnym razie, jeśli przechodząparametru argc będzie ustawiona na 2.

Pomiędzy wieloma parametrami wiersza poleceń oddzielonych przestrzeni, ale jeśli argument sam w sobie przestrzeń, a następnie przekazywanie parametrów, gdy parametry powinny być umieszczone w cudzysłowach "" lub apostrofami '' w środku. Załóżmy przepisać powyższy przykład, nie ma miejsca, to można pogląd, umieścić je w pojedyncze lub podwójne cudzysłowy. "" "." Załóżmy przepisać powyższy przykład, przejść program umieszczony wewnątrz parametrów linii poleceń cudzysłowy:

#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");
   }
}

Użyj prostego parametru oddzielone spacjami, parametry ujęty w cudzysłów, skompilować i wykonać powyższy kod, będzie produkować następujące wyniki:

$./a.out "testing1 testing2"

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