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.