Descrizione dell'argomento
Il argc
parametro nelle main
funzioni e wmain
è un numero intero che specifica il numero di argomenti passati al programma dalla riga di comando. Poiché il nome del programma è considerato un argomento, il valore di argc
è almeno uno.
Osservazioni:
Il parametro argv
è una matrice di puntatori a stringhe con terminazione null che rappresentano gli argomenti del programma. Ogni elemento della matrice punta a una rappresentazione di stringa di un argomento passato a main
(o wmain
). Per informazioni sulle matrici, vedere Dichiarazioni di matrice. Il argv
parametro può essere dichiarato come matrice di puntatori di tipo char
(char *argv[]
) o come puntatore ai puntatori al tipo char
(char **argv
). Per wmain
, il argv
parametro può essere dichiarato come matrice di puntatori al tipo wchar_t
(wchar_t *argv[]
) o come puntatore ai puntatori al tipo wchar_t
(wchar_t **argv
).
Per convenzione, argv[0]
è il comando con cui viene richiamato il programma. Tuttavia, è possibile generare un processo usando CreateProcess
e se si usano sia il primo che il secondo argomento (lpApplicationName
e lpCommandLine
), argv[0]
potrebbe non essere il nome eseguibile. Usare GetModuleFileName
per recuperare il nome eseguibile.
L'ultimo puntatore (argv[argc]
) è NULL
. Per ottenere informazioni sulle variabili di ambiente, vedere getenv
informazioni di riferimento sulla libreria di runtime.
Sezione specifica Microsoft
Il parametro envp
è un puntatore a una matrice di stringhe con terminazione null che rappresentano i valori impostati nelle variabili di ambiente dell'utente. Il parametro envp
può essere dichiarato come matrice di puntatori a char
(char *envp[]
) o come puntatore a puntatori a char
(char **envp
). In una wmain
funzione, il envp
parametro può essere dichiarato come matrice di puntatori a wchar_t
(wchar_t *envp[]
) o come puntatore wchar_t
a (wchar_t **envp
). La fine della matrice è indicata da un NULL*
puntatore. Il blocco di ambiente passato a main
o wmain
è una copia "bloccata" dell'ambiente corrente. Se in seguito si modifica l'ambiente tramite una chiamata a _putenv
o , l'ambiente corrente (come restituito da getenv
_wgetenv
/e le _environ
variabili o_wenviron
) cambierà, ma il blocco a envp
cui punta non cambierà._wputenv
Il envp
parametro è compatibile con ANSI/ISO C89 in C, ma è un'estensione Microsoft in C++.
Fine sezione specifica Microsoft