Wejście jako parametry¶
W języku C można wczytywać parametry z linii poleceń podczas uruchamiania programu za pomocą funkcji main
, która może przyjmować dwa argumenty: argc
i argv
.
Argumenty funkcji main¶
Często, gdy tworzymy funkcję main
, to po jej nazwie podajemy puste nawiasy. Funkcja ta jednak może przyjmować dwa argumenty, opisane poniżej.
int argc
: liczba argumentów przekazanych do programu, wliczając nazwę programu.char *argv[]
: tablica wskaźników do argumentów, gdzie każdy element tablicy jest wskaźnikiem do ciągu znaków reprezentującego jeden argument.
Przykład¶
Spójrzmy na poniższy przykład, by lepiej zrozumieć z czym mamy do czynienia. Poniższy kod wypisuje liczbę przekazanych mu argumentów podczas uruchamiania, a także wypisuje każdy z tych argumentów.
#include <stdio.h>
int main(int argc, char *argv[]) {
printf("Liczba argumentów: %d\n", argc);
for (int i = 0; i < argc; i++) {
printf("Argument %d: %s\n", i, argv[i]);
}
return 0;
}
Uruchamianie programu¶
Załóżmy, że zapisaliśmy powyższy kod w pliku program.c
i skompilowaliśmy go do pliku wykonywalnego (a.out
pod Linuxem, a.exe
pod Windowsem). Możemy uruchomić nasz program z argumentami w następujący sposób:
Wynik działania programu będzie wyglądał następująco:
Jak widać, pierwszy argument to zawsze sposób, w jaki uruchomiliśmy nasz program.