Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2019
    Messaggi
    2

    [C++] Passaggio di argomenti al main

    Salve a tutti, studiando da solo il linguaggio C++ sono incappato nel passaggio di argomenti al main. Per intenderci una cosa del genere.

    codice:
    int main (int argc, char* argv[])
    {}
    Mi chiedevo: ci sono particolari controindicazioni/ accorgimenti da usare quando si passano argomenti al main (che ho sempre studiato essere senza argomenti)?
    Per esempio se io volessi passare come argomento il nome di un file (che mi servirà per fare l'input) scrivendo quando eseguo:
    codice:
    ./a.out miofile.C
    posso utilizzare quel file senza problemi (ovviamente riferendomi ad esso nel codice come arg[1])?

    E posso utilizzare il costrutto if scrivendo per esempio

    codice:
    if (argv[1] == 0)
    {// istruzioni}
    else {}
    per distinguere il caso in cui l'utente esegue fornendo il nome del file da quello in cui invece non lo fornisce? (O esistono altri modi migliori?)

    Scusate i dubbi ma studiando da solo faccio fatica a capire se quello che scrivo ha effettivamente senso o no.
    Grazie in anticipo a chiunque risponderà
    Ultima modifica di Inda; 29-10-2019 a 00:14

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,285
    Controlla quanto vale arch. È il numero di elementi validi passati con argv
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2019
    Messaggi
    2
    Ok, è normale che eseguendo semplicemente con
    ./a.out
    argc assuma valore 1?
    Non mi sembra in questo caso di aver passato argomenti al main o sbaglio?

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,285
    Quote Originariamente inviata da Inda Visualizza il messaggio
    Ok, è normale che eseguendo semplicemente con
    ./a.out
    argc assuma valore 1?
    Non mi sembra in questo caso di aver passato argomenti al main o sbaglio?
    Il primo argomento (elemento 0 del vettore) è sempre il percorso e none dell'eseguibile. Quindi argc è almeno 1.

    Non usi un libro del linguaggio da cui studiare?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2019 vBulletin Solutions, Inc. All rights reserved.