Descripción de los argumentos
El parámetro argc
en las funciones main
y wmain
es un entero que especifica el número de argumentos que se pasan al programa desde la línea de comandos. Como el nombre del programa se considera un argumento, el valor de argc
es uno, por lo menos.
Comentarios
El parámetro argv
es una matriz de punteros a cadenas finalizadas en null que representan los argumentos del programa. Cada elemento de la matriz señala a una representación de cadena de un argumento que se pasa a main
o a wmain
. (Para obtener información sobre matrices, vea Declaraciones de matriz). El parámetro argv
se puede declarar como una matriz de punteros a tipo char
(char *argv[]
) o como un puntero para punteros a tipo char
(char **argv
). En el caso de wmain
, el parámetro argv
se puede declarar como una matriz de punteros a tipo wchar_t
(wchar_t *argv[]
) o como un puntero para punteros a tipowchar_t
(wchar_t **argv
).
Por convención, argv[0]
es el comando con el que se invoca el programa. Sin embargo, es posible generar un proceso usando CreateProcess
y, si utiliza el primero y segundo argumentos (lpApplicationName
y lpCommandLine
), argv[0]
puede no ser el nombre ejecutable; utilice GetModuleFileName
para recuperar el nombre ejecutable.
El último puntero (argv[argc]
) es NULL
. (Vea getenv
en la Referencia de la biblioteca en tiempo de ejecución si desea un método alternativo para obtener información de variables de entorno).
Específicos de Microsoft
El parámetro envp
es un puntero a una matriz de cadenas finalizadas en null que representan los valores establecidos en las variables de entorno del usuario. El parámetro envp
se puede declarar como una matriz de punteros a char
(char *envp[]
) o como un puntero para punteros a char
(char **envp
). En una función wmain
, el parámetro envp
se puede declarar como una matriz de punteros a wchar_t
(wchar_t *envp[]
) o como un puntero para punteros a wchar_t
(wchar_t **envp
). El final de la matriz se indica mediante un puntero NULL*
. El bloque de entorno que se pasa a main
y a wmain
es una copia "inmóvil" del entorno actual. Si, más adelante, cambia el entorno llamando a _putenv
o a _wputenv
, el entorno actual (devuelto por getenv
/_wgetenv
, o por las variables _environ
o _wenviron
) cambiará, pero no el bloque envp
al que apunta. El parámetro envp
es compatible con ANSI/ISO C89 en C, pero es una extensión de Microsoft en C++.
FIN de Específicos de Microsoft