Il C++, come il C, permette di leggere argomenti dalla linea di comando, e questi possono poi essere utilizzati all'interno dei programmi. In fase di lancio del programma, potete scrivere gli argomenti dopo il nome del programma da eseguire.
Per passare degli argomenti al vostro programma dovete cambiare il vostro main() in modo che possa prendere dei parametri, come una qualsiasi altra funzione. Al fine di essere in grado di utilizzare tali argomenti, e' necessario definirli nel seguente modo:
Vi faccio un esempio di un semplice programma che stampa gli argomenti passati da linea di comando:
- aprite la console
- digitate:
In alternativa potete cambiare il nome del programma da "a.out" a qualsiasi cosa con:
Se tutto è andato a buon fine, lanciando il vostro programma l'output dovrebbe essere questo:
La ricetta è semplice, in seguito vi mostrerò come gestire meglio le opzioni per il vostro programma!
Spero vi sia stato utile, alla prossima!
Per passare degli argomenti al vostro programma dovete cambiare il vostro main() in modo che possa prendere dei parametri, come una qualsiasi altra funzione. Al fine di essere in grado di utilizzare tali argomenti, e' necessario definirli nel seguente modo:
int main(int argc, char **argv) { // codice } oppure int main(int argc, char *argv[]){ // codice }Cosi' la funzione main ha ora i propri argomenti e sono definiti in questo modo:
argc
: è il numero degli argomenti digitati, incluso il nome del programma.**argv
: è un array di stringhe contenente ciascun argomento, compreso il nome del programma come primo elemento. Vi faccio un esempio di un semplice programma che stampa gli argomenti passati da linea di comando:
using namespace std; #include <iostream> #include <cstdlib> int main(int argc, char **argv) { if(argc == 1) { cout << "Usate: " << argv[0] << " <opzioni>\n"; exit(0); // termina il programma } cout << "Gli argomenti sono: \n"; // parto da i=1 visto che i=0 è il programma stesso for(int i = 1; i < argc; i++) { cout << "argv[" << i << "]: " << argv[i] << endl; } cout << endl; return 0; }Con Linux compilate il vostro programma nel solito modo:
- aprite la console
- digitate:
g++ il_vostro_file.cc
In alternativa potete cambiare il nome del programma da "a.out" a qualsiasi cosa con:
g++ il_vostro_file.cc -o nuovo_nome
Se tutto è andato a buon fine, lanciando il vostro programma l'output dovrebbe essere questo:
$ ./a.out -a -b -c Gli argomenti sono: argv[1]: -a argv[2]: -b argv[3]: -cdove ./a.out è il comando per lanciare il programma con nome "a.out" e -a, -b e -c sono i vostri parametri.
La ricetta è semplice, in seguito vi mostrerò come gestire meglio le opzioni per il vostro programma!
Spero vi sia stato utile, alla prossima!
Commenti
Posta un commento
Gli autori non sono responsabili per quanto pubblicato dai lettori nei commenti ad ogni post. Verranno cancellati i commenti ritenuti offensivi o lesivi dell’immagine o dell’onorabilità di terzi, di genere spam, razzisti o che contengano dati personali non conformi al rispetto delle norme sulla Privacy e, in ogni caso, ritenuti inadatti ad insindacabile giudizio degli autori stessi.