PASSAGGIO PARAMETRI DA RIGA DI COMANDO TRAMITE IDE
Questo piccolo articolo spiega brevemente come si possano passare dei parametri da riga di comando tramite l'uso di code::block e Visual Studio, senza usare la console. Utilizzeremo il linguaggio c per la spiegazione, ma la procedura è sempre la stessa anche per altri linguaggi. Innanzitutto, c'è bisogno che la funzione main() sia scritta correttamente:
int main(int argc, char* argv[]) // oppure int main(int argc, char** argv)
Questo per permettere di usare i vari parametri passati. Ricordo come prima cosa che i parametri verranno passati come stringhe testuali, se si vuole passare interi bisogna convertire i parametri passati con le apposite funzioni del linguaggio. Esempio pratico:
#include <stdio.h> int main(int argv,char *argc[]){ if(argv>2) printf("Argomenti passati\n NOME PROG :%s\n PRIMO PARAMETRO :%s\n SECONDO PARAMETRO :%s\n\n", argc[0],argc[1],argc[2]); else printf("Argomenti non passatin"); getchar(); return 0; }
CODE::BLOCK
Prima configuriamo normalmente il programma per essere compilato in C, scriviamo il programma in esempio ed andiamo a compilarlo.
Come da aspettative, uscirà:
Ora passiamo ad immettere i parametri da linea di comando. Per fare ciò andiamo su: Project->Set programs' arguments. Nella finestra che comparirà basta che selezioniamo il target (Debug o Relase) ed inseriamo gli argomenti nell'apposito riquadro. Confermiamo i parametri, e ricompiliamo il progetto secondo il target scelto. Ecco il risultato:
VISUAL STUDIO
Creare come prima il nostro progetto sempre in c, e verifichiamo mediante compilazione che il risultato sia come prima:
Andiamo ora a inserire i parametri. Nella finestra esplora soluzioni (CTRL+W, S) cliccare col tasto destro del mouse sul nome del progetto e scegliere Proprietà (ALT+INVIO). Nella finestra che si apre, nel menù a sinistra scegliere: Proprietà di configurazione-> Debug-> Argomenti del Comando (Non ho tradotto io XD). Qui inseriamo i nostri argomenti sempre come stringhe testuali. (Se volete potete settare i parametri per alcune sole configurazioni: Debug/Relase e x86/x64) Confermiamo tutto e ricompiliamo a seconda del target scelto. Come potete vedere dagli screen, ora i parametri vengono recepiti dal programma.
P.S. Per Visual Studio (2015 e 2017) esiste un'estensione che facilita l'immissione dei parametri da riga di comando:
Smart Commandline Arguments https://marketplace.visualstudio.com/items?itemName=MBulli.SmartCommandlineArguments
N.B.
I parametri non sono fissati nel programma. Vale a dire che se manderete in esecuzione gli eseguibili creati, essi daranno sempre "argomenti non passati" come risultato. Bisogna poi ripassarli a seconda di come si utilizza il programma. Ogni parametro deve essere separato da uno spazio dal successivo. Non sono necessarie le "" tra i vari parametri. Se invece, servisse passare un parametro che all'interno contiene degli spazi, all'ora bisogna usare le "" per racchiudere i vari parametri.
Aggiungi un commento