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à:

NullArg CodeBlock

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:

Arg. CodeBlock

 

VISUAL STUDIO

Creare come prima il nostro progetto sempre in c, e verifichiamo mediante compilazione che il risultato sia come prima:

 ArgNull VisualStudio

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.

Arg VisualStudio

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.