Argumentele la principalele funcții () argv și argc

Uneori, atunci când începe programul este util să-i dea nici o informație. De obicei, aceste informații sunt transmise la principalele funcții () folosind linia de comandă argumente. linie de comandă argument - adică, informațiile care sunt introduse după numele programului în linia de comandă a sistemului de operare. De exemplu, pentru a lansa elaborarea programului, la linia de comandă după tip prompt de ceva de genul:

Numele programului este un argument în linia de comandă, specifică numele programului pe care urmează să compileze.

Pentru a avea argumente în linia de comandă, există două speciale construite argumente: argc și argv. Parametrul argc conține numărul de argumente pe linia de comandă și este un număr întreg, și niciodată nu este mai mică de 1, pentru că primul argument este considerat a fi numele programului. Un parametru argv este un pointer la o serie de indicii pentru siruri de caractere. În această matrice, fiecare element indică un argument în linia de comandă. Toate argumentele de linie de comandă sunt șir de caractere, deci converti orice numere a fost trebuie să fie furnizate în formatul binar corect în program în timpul dezvoltării sale.

Aici este un exemplu simplu, folosind argumentul liniei de comandă. Ecranul afișează cuvântul Bună ziua și numele dvs., care trebuie să fie specificat ca un argument în linia de comandă.

Dacă apelați numele programului (numele) și numele tău este Tom, următoarea linie de comandă introduceți numele lui Tom pentru a rula programul. Ca urmare, programul afișează un mesaj Bună, Tom.

In multe medii, toate argumentele de linie de comandă să fie separate una de alta prin spații sau file. Virgule, punct și virgulă, și altele nu sunt considerate un caracter delimitator. De exemplu,

este format din trei șiruri de caractere, în timp ce

Acesta reprezintă un șir de caractere - virgule nu sunt, în general, considerate a fi delimitate.

Dacă șirul conține spații, apoi, că din aceasta nu a dovedit mai multe argumente în unele medii, această linie poate fi inclus în ghilimele duble. Ca urmare, întreaga linie va fi considerată ca un singur argument. Pentru a afla mai multe despre modul în care sistemul de operare este opțiunile de linie de comandă, consultați documentația sistemului.

Este important să se declare argv. Iată cum se face mai des:

Goale paranteze pătrate indică faptul că o matrice de lungime nedeterminată. Acum a avea acces la argumentele individuale, puteți utiliza matrice de indexare argv. De exemplu, argv [0] indică primul șir de caractere, care este intotdeauna numele programului; argv [1] indică primul argument și așa mai departe.

Un alt exemplu al unui program de argumente în linia de comandă mică este redusă în continuare numărătoarea (cont în ordine inversă). Acest program contează în jos, deoarece orice valoare (specificată în linia de comandă), și emite un semnal sonor atunci când este vorba de 0. De notat că primul argument, care conține valoarea inițială este convertită la o valoare întreagă, cu un standard de atoi (). În cazul în care va fi afișat al doilea argument în linia de comandă (și, dacă te numeri numele argument al programului, al treilea) este un șir de „display“ (afișare), rezultatul de referință (în ordine inversă).

Rețineți că, dacă nu sunt date argumentele din linia de comandă, acesta va fi un mesaj de eroare. Într-o linie de comandă argument este adesea făcută după cum urmează: atunci când utilizatorul rulează programul fără a introduce informații corecte, instrucțiuni cu privire la modul în care să se precizeze în mod corect argumentele afișate.

Pentru a accesa caracterul individual al unuia dintre argumentele din linia de comandă în argv intra în al doilea index. De exemplu, următorul program afișează un caracter la un moment dat toate argumentele cu care a cauzat:

Amintiți-vă, primul indice argv oferă acces la rând, iar al doilea index - acces la caracterele sale individuale.

Argc și argv sunt de obicei utilizate pentru a transmite echipa inițială de program, care va avea nevoie de ea atunci când începe. De exemplu, argumentele de linie de comandă indică adesea detalii, cum ar fi parametrul nume de fișier, sau un comportament alternativ. Folosind argumentele din linia de comandă oferă programul tau un „look profesional“ și facilitează utilizarea sa în fișiere lot.

Nume argc și argv sunt tradiționale, dar nu este obligatoriu. Acești doi parametri sunt în funcția principală (), puteți apela orice doriți. În plus, unele compilatoare pentru main () pot fi susținute de argumente suplimentare, astfel încât să fie sigur de a consulta documentația pentru dvs. compilator.