Sunteți pe pagina 1din 2

1

16. Argumentele liniei de comanda


Un program scris în C poate primi valori în momentul începerii
executiei prin linia de comanda prin care se solicita sistemului de operare
încarcarea si lansarea acestuia. Programul trebuie sa fie pregatit pentru
executie, deci trebuie sa existe fisierul nume.exe. Lansarea în executie se va
face dintr-o fereastra DOS. De exemplu, daca s-a creat un program denumit
ecou care afiseaza sirurile de caractere introduse ca argumente, apelul ar
putea fi de exemplu :
C :\BORLANDC\BIN>ecou salut, prieteni!
Ca si în cazul comenzilor DOS cunoscute, parametri se scriu dupa
denumirea programului si sunt separati prin spatii. Functia principala a unui
astfel de program, main(), va avea în acest caz doi parametri : primul,
denumit mai jos argc (argument count) indica numarul de argumente
continut de linia de comanda iar al doilea, argv (argument vector), este un
sir de pointeri spre sirurile de caractere transmise ca si argumente. Prin
conventie argv[0] este chiar numele programului apelat.
Exemplu :

#include <stdio.h>
main(int argc, char *argv[])
{
int i;
for (i=1; i<argc; i++)
printf("%s ", argv[i]);
printf ("\n");
return 0;
}
Programul din exemplu se va salva sub numele ecou.cpp si se va
realiza programul executabil ecou.exe. Apoi, apelul :
…> ecou Salut, prieteni!
va provoca imprimarea sirului de caractere "Salut, prieteni!". Datorita
spatiului dintre "Salut," si "prieteni!", se va considera ca s-au introdus doi
parametri (deci argc = 3, numarându-se si argv[0]). Pointerii *argv[] vor
indica sirurile :
argv[0]="C:\\borlandc\\bin\\ecou.exe"
2

argv[1]="Salut,"
argv[2]="prieteni!".
În primul sir de caractere, indicat de pointerul argv[0], caracterele "\"
folosite pentru indicarea caii sunt dublate pentru a evita interpretarea lor ca
facând parte din secvente escape (folosite pentru indicarea caracterelor
speciale, fara echivalent grafic).

S-ar putea să vă placă și