ARGUMENTI KOMANDNE LINIJE
Pri izvršenju moguće je prenijeti argumente u
C-program. Zagrade koje slijede main se koriste za tu svrhu. argc
se odnosi na broj argumenata koji se prenose i argv[] je polje pokazivača
koji pokazuju na svaki argument koji se prenosi u main. Slijedi jednostavan
primjer, koji provjerava da li se jedan argument nalazi na komandnoj liniji
kad se program pozove.
#include <stdio.h> main( int argc, char *argv[] ) { if( argc == 2 ) printf("Argument je %s\n", argv[1]); else if( argc > 2 ) printf("Previše je argumenata.\n"); else printf("Očekuje se jedan argument.\n"); }Primjetite da je *argv[0] ime pozvanog programa što znači da je *argv[1] pokazivač na prvi argument i *argv[n] na zadnji argument. Ako nema argumenata argc će biti jedan. Stoga će za n argumenata argc biti jednak n + 1. Program se poziva sa komandne linije,
myprog argument1
VJEŽBA C27
Napišite program koji kopira datoteke, tj. FCOPY.C
koji prihvaća imena početne i krajnje datoteke sa komandne linije. Uključite
provjeru broja argumenata koji se prenose.