Wyjaśnienie argumentów wiersza poleceń w języku C

Opublikowany: 2022-04-29

Argumenty wiersza poleceń są używane, gdy program musi być kontrolowany z zewnątrz, a nie wewnętrznie. Jest to interfejs tekstowy dla programistów, w którym argumenty są przekazywane bezpośrednio do metody podstawowej.

Wartości, które są przekazywane w funkcji, gdy jest ona wywoływana, są określane jako argumenty. Innymi słowy, argument jest parametrem, który jest przekazywany do danej metody po wywołaniu.

Składnia :

int main() { /* … */ }

Powyższy kod odbiera polecenie i przekazuje je do systemu operacyjnego komputera w celu uruchomienia. Te polecenia są zawsze wywoływane podczas wykonywania kodu.

Argumenty wiersza poleceń CC i C++ są dość łatwe do zaimplementowania ze względu na ich prostotę i łatwą do odszyfrowania składnię.

Aby przekazać argumenty wiersza poleceń, główna funkcja musi być zdefiniowana przez dwa argumenty:

  1. Całkowita liczba argumentów wiersza poleceń
  2. Cała lista argumentów wiersza poleceń

Składnia :

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

  1. argc (ARGument Count) jest zdefiniowany jako typ danych całkowitych, który przechowuje całkowitą liczbę argumentów wiersza poleceń. Zrozumiałe, że zawsze powinna to być wartość nieujemna.
  2. argv (ARGument Vector) oznacza tablicę wskaźników typu danych znakowych używanych do przechowywania całej listy argumentów wiersza poleceń.

Za pomocą wiersza poleceń programiści mogą uzyskać dostęp do szeregu plików i folderów na swoich komputerach. Dany program, który zawiera kilka argumentów wiersza poleceń, może szybko zidentyfikować źródła lub miejsca docelowe danych. Ma również potencjał do zmiany funkcjonowania programu. Ułatwia proces budowania, aby wprowadzić kontrolę źródła.

W dziedzinie rozwoju szeroki zakres zadań nie wymaga rzeczywistej wizualizacji. W takich przypadkach wszystkie funkcje można wykonać za pomocą argumentów wiersza poleceń. Istnieje bardzo rzadki wymóg dotyczący dosłownego interfejsu graficznego. Pomaga to zaoszczędzić wiele finansów, wysiłku i zasobów.

Ucz się kursów rozwoju oprogramowania online z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.

Spis treści

Właściwości | Argumenty wiersza poleceń w C

Argumenty wiersza poleceń mają sporo interesujących i użytecznych właściwości. Są to:

  • Aby wydrukować nazwę programu, poleceniem musi być argv[0]
  • argv[argc] jest zasadniczo pustym wskaźnikiem
  • Aby wydrukować pierwszy argument podany przez użytkownika, poleceniem musi być argv[1]
  • Użytkownik przekazuje argumenty wiersza poleceń z terminala
  • Użycie tych poleceń polega na kontrolowaniu programów z zewnątrz, zamiast konieczności zakodowania wartości wewnątrz programu
  • Argumenty wiersza poleceń są zawsze przekazywane do funkcji main()
  • Pierwszym argumentem polecenia land jest argv[1], natomiast ostatnim poleceniem jest argv[n]

Przykład argumentu wiersza poleceń

Poniżej znajduje się program demonstracyjny dla argumentów wiersza poleceń w C:

// Program C do zilustrowania

// argumenty wiersza poleceń

#include<stdio.h>

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

{

licznik wewnętrzny;

printf("Nazwa programu to: %s",argv[0]);

jeśli(argc==1)

printf(„\nNie przekazano dodatkowego argumentu wiersza polecenia innego niż nazwa programu”);

if(argc>=2)

{

printf(„\nLiczba przekazanych argumentów: %d”,argc);

printf(“\n—-Następują argumenty wiersza poleceń przekazane—-“);

for(licznik=0;licznik<argc;licznik++)

printf(“\nargv[%d]: %s”,licznik,argv[licznik]);

}

zwróć 0;

}

Wyniki różnią się w zależności od różnych scenariuszy. Zostały one dodatkowo wyjaśnione indywidualnie.

  1. Bez argumentu:

Aby uzyskać następujące dane wyjściowe, kod musi zostać wykonany bez przekazywania argumentu:

Wyjście 1

$ ./a.out

Nazwa programu to: ./a.out

Żaden dodatkowy argument wiersza polecenia nie został przekazany poza nazwą programu

  • Z trzema argumentami:

Aby uzyskać następujące dane wyjściowe, kod musi zostać wykonany z trzema argumentami.

Wyjście 2 –

$ ./a.out Pierwsza Druga Trzecia

Nazwa programu to: ./a.out

Liczba przekazanych argumentów: 4

—-Następuje przerzucenie argumentów wiersza poleceń —-

argv[0]: ./a.out

argv[1]: Pierwszy

argv[2]: Drugie

argv[3]: Trzecie

  • Jednym argumentem:

Kod musi być skompilowany i wykonany z pojedynczym argumentem, który musi być oddzielony spacją, będąc wewnątrz cudzysłowów, aby uzyskać następujące dane wyjściowe.

Wyjście 3 –

$ ./a.out „Pierwsza Druga Trzecia”.

Nazwa programu to: ./a.out

Liczba przekazanych argumentów: 2

—-Następuje przerzucenie argumentów wiersza poleceń —-

argv[0]: ./a.out

argv[1]: Pierwsza Druga Trzecia

  • Z jednym argumentem w cudzysłowie i oddzielonym spacją:

Kod musi być skompilowany i wykonany z pojedynczym argumentem oddzielonym spacją, ale w pojedynczych cudzysłowach, aby uzyskać następujące dane wyjściowe.

Wyjście 4 –

$ ./a.out 'Pierwsza Druga Trzecia'

Nazwa programu to: ./a.out

Liczba przekazanych argumentów: 2

—-Następuje przerzucenie argumentów wiersza poleceń —-

argv[0]: ./a.out

argv[1]: Pierwsza Druga Trzecia

Zalety argumentów wiersza poleceń w C

Istnieje kilka korzyści z używania argumentów wiersza poleceń w C. Są one następujące:

  • Argumenty wiersza poleceń w C mogą być używane, gdy programista lub użytkownik chce przekazać wartości do programu od wewnątrz, zamiast robić to wewnętrznie.
  • Aplikacje wiersza poleceń można bardzo łatwo wykorzystać w plikach wsadowych lub skryptach. Jest to bardzo pomocne w przypadku testów automatycznych lub kompilacji.
  • Wiersz poleceń jest łatwiejszy do opracowania, jeśli programiści piszą narzędzia zamiast ich używać. Wprowadzanie argumentów jest uważane za znacznie bardziej złożone i czasochłonne zadanie niż wyprowadzanie strumienia tekstowego.
  • Strumienie wejściowe, wyjściowe i błędów można bardzo łatwo przekierować, gdy informacje mogą być wysyłane lub odbierane z różnych plików i aplikacji.
  • Mechanizm zwracania błędów w argumentach wiersza poleceń jest dość standardowy i prosty.
  • Kiedy programista lub użytkownik próbuje uzyskać dostęp z domu lub w podróży, w zasadzie będąc mobilnym, użyj przez zdalne powłoki lub inne podobne połączenia, co najmniej ułatwia wykonywanie zadań.
  • Dla funkcji określania wielu plików istnieją zdefiniowane standardy składni symboli wieloznacznych, które czerpią i bazują na istniejącej wiedzy programisty lub programisty.
  • Wiersze poleceń są przekonujące i niezwykle szybkie.

Mówiąc o zaletach w różnych argumentach wiersza poleceń, poniżej znajduje się kolejny szczegółowy przykład lub demonstracja, jak należy je zaimplementować.

#włącz <stdio.h>

#include <conio.h>

//wywoływana jest główna metoda, do której przekazywane są argumenty wiersza poleceń do programu

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

{

//zdefiniowana jest zmienna całkowita

int;

//jeśli warunek zostanie zastosowany, aby sprawdzić, czy liczba argumentów przekazanych do programu jest większa lub równa dwa i jeśli warunek jest spełniony, zostaną wypisane argumenty wiersza poleceń przekazane do programu. W przeciwnym razie do programu nie zostanie przekazany żaden argument

if(argc >= 2)

{

printf("Argumenty przekazywane do programu to:\n");

for(a = 1; a < argc; a++)

{

printf("Argument przekazany do programu to: %s\t", argv[a]);

}

}

w przeciwnym razie

{

printf("Do programu nie jest przekazywany żaden argument\n");

}

zwróć 0;

}

Wyjście:

Do programu nie jest przekazywany żaden argument.

Argumenty wiersza poleceń są przekazywane do programu w powyższym kodzie przez wywołanie metody main. Następnym krokiem jest definicja zmiennej całkowitej. Następnie warunek jest przekazywany, aby sprawdzić, czy liczba argumentów przekazanych do programu jest większa lub równa 2. Argumenty wiersza poleceń przekazywane do programu są wypisywane, jeśli warunek jest spełniony. Jeśli nie, żaden argument nie jest przekazywany do programu i wypisywany.

Wnioski

Dowiedz się więcej o znaczeniu argumentów wiersza poleceń w językach C i C++, rejestrując się w programie Executive PG programu upGrad w zakresie tworzenia oprogramowania — specjalizacja w opracowywaniu pełnego stosu . 13-miesięczny kurs ma na celu pomóc początkującym informatykom opanować Java, Spring, Hibernate, HTML, React, Git oraz szereg innych języków programowania i narzędzi do tworzenia złożonych aplikacji, takich jak Quora i Swiggy.

Program oferuje również bezpłatną 4-miesięczną certyfikację kadry kierowniczej w zakresie Data Science i uczenia maszynowego.

Jakie są podstawowe wady, z którymi muszą się zmierzyć programiści podczas implementacji argumentów wiersza poleceń w C?

Mimo że argumenty wiersza poleceń w C są wygodne dla programistów i programistów, mają kilka wad. Osoby, które nie mają podstawowej wiedzy i nie są przyzwyczajone do pracy z tymi poleceniami, mogą okazać się dość trudne do nauczenia się i przystosowania, szczególnie w krótkim okresie. Nie stanowi to jednak problemu dla doświadczonych programistów i programistów. Ale czasami okazuje się to przeszkodą dla młodszych pracowników, którzy mogą pochodzić z różnych lub sąsiednich dziedzin. Co więcej, argumenty wiersza poleceń wymagają zaimplementowania i wykonania klawiatury. Często staje się to przeszkodą, jeśli ktoś musi uzyskać do niego dostęp przez telefon lub iPada itp.

Jakie są ograniczniki używane do oddzielania argumentów wiersza polecenia?

Do oddzielenia argumentów wiersza poleceń zazwyczaj używa się spacji. Oddzielają nazwę polecenia od jego parametrów i oddzielają od siebie różne parametry. Przydają się również przy rozdzielaniu listy różnych wartości. Multi blanki są zwykle traktowane jako pojedynczy blank. Jedyny wyjątek od tego ma miejsce w ciągu cudzysłowu lub komentarzu ujętym w pojedyncze cudzysłowy.

Czy można konwertować argumenty wiersza poleceń?

Wszystkie argumenty wiersza poleceń są przekazywane jako ciąg. Wartości liczbowe muszą być zawsze konwertowane przez programistów lub użytkowników na ich wewnętrzne formularze przy użyciu ręcznego wysiłku. Funkcja main zawsze otrzymuje swoje parametry, które zwykle są tablicą ciągów. Jest to jedyny argument funkcji akceptowany przez funkcję main. Typy danych łańcuchowych są przeznaczone do użycia podczas przechowywania argumentów wiersza poleceń.