Elaborazione della riga di comando

 


 

Esecuzione di un programma tramite riga di comando

 

Un caso tipico di utilizzo di array di stringhe si ha quando il sistema operativo passa a un programma una serie di parametri, elencati nella riga di comando.

Es.:                 copy  file1  file2         copy é il programma
file1 e file2 sono i parametri

Anche un programma scritto in C++ (e trasformato dall'ambiente di sviluppo in un modulo eseguibile) può essere lanciato da sistema operativo come se fosse un comando, e può essere accompagnato da parametri. Il C++ (come il C) si incarica di trasformare tali parametri in argomenti trasmessi alla funzione main, per modo che il programma possa elaborarli.

 


 

Argomenti passati alla funzione main

 

Finora abbia supposto che il main fosse una funzione priva di argomenti. In realtà il sistema operativo passa al main un certo numero di argomenti, di cui, in questo caso, ci interessano i primi due:

              int argc

numero di voci presenti nella riga di comando (compreso lo stesso nome del programma)

char** argv        

array di stringhe, in cui ogni elemento corrisponde a una voce della riga di comando (in fondo viene aggiunta una stringa NULL)

Pertanto, se il programma deve utilizzare dei parametri, il main va definito come segue:
              int main(int argc, char** argv)

Per esempio, se la riga di comando contiene:   copy  file1  file2
              argc contiene il numero 3
argv[0] contiene la stringa "copy"
argv[1] contiene la stringa "file1"
argv[2] contiene la stringa "file2"
argv[3] contiene NULL

[p32]

 


 

Torna all'Indice