Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Argumentele argc si argv ale functiei main()

c



+ Font mai mare | - Font mai mic



Argumentele argc si argv ale functiei main()

Singurele argumente pe care le poate avea functia main() sunt argv si argc.



Parametrul argc contine numarul argumentelor din linia de comanda si este un intreg. Intotdeauna acesta va fi cel putin 1, deoarece numele programului este codificat ca primul argument.

Parametrul argv este un pointer la un tablou de pointeri la caractere. Fiecare element din acest tablou indica spre un argument linie_comanda. Toate argumentele linie_comanda sunt siruri.

Exemplu: Urmatorul program arata modul de utilizare al argumentelor linie_comanda si va afisa Hello urmat de numele dumneavoastra, daca va introduceti numele, imediat dupa numele programului:

# include <stdio.h>

void main (argc, argv) // Numele programului

int argc;

char *argv[];

printf ('Hello %s !', argv[1]); }

Daca acest program se numeste ARG_LC.C si numele dumneavoastra este DAN, atunci, pentru a executa programul, in linia de comanda, veti tipari ARG_LC DAN. Iesirea programului va fi Hello DAN !.

Argumentele linie_comanda trebuie separate prin spatiu sau TAB si nu prin virgula, sau;.

Parametrul argv[] se declara, de obicei, sub forma char *argv[]; si reprezinta un tablou de lungime nedeterminata, mai precis reprezinta un tablou de pointeri. Accesul la elementele lui argv[] se realizeaza prin indexarea acestuia, astfel: argv[0] va indica spre primul sir, care este intotdeauna numele programului; argv[1] va indica spre primul argument etc. Evitati folosirea sa fara paranteze, adica char *argv.

Urmatorul program numit 'nrinvers' numara invers de la o valoare specificata prin linia de comanda si transmite un beep cand ajunge la zero. Precizam ca programul converteste primul argument, care contine numarul la un intreg folosind functia standard atoi(). Daca sirul 'display' apare ca al doilea argument_comanda, programul va afisa, de asemenea, numarul introdus pe ecran.

# include <stdio.h>

# include <string.h>

# include <stdlib.h>

void main(int argc, char *argv[]) /* nrinvers */

if (argc==3 && !strcmp(argv[2], 'display'))

disp = 1;

else disp = 0;

for (count = atoi(argv[1]); count; --count)

if (disp) printf('%d ',count);

printf('%c',7); /* Se emite un beep */ }

Observatie: Daca in linia de comanda nu se specifica nici un argument, programul va afisa un mesaj de eroare.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1840
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved