in

c ++ – ¿Qué hace int argc, char * argv[] ¿significar?

apple touch icon@2
int main();

Esta es una simple declaración. No puede tomar ningún argumento de línea de comando.

int main(int argc, char* argv[]);

Esta declaración se usa cuando su programa debe tomar argumentos de línea de comandos. Cuando corres así:

myprogram arg1 arg2 arg3

argc, o Argument Count, se establecerá en 4 (cuatro argumentos), y argv, o Vectores de argumentos, se completarán con punteros de cadena a «myprogram», «arg1», «arg2» y «arg3». La invocación del programa (myprogram) está incluido en los argumentos!

Alternativamente, puede usar:

int main(int argc, char** argv);

Esto también es válido.

Hay otro parámetro que puede agregar:

int main (int argc, char *argv[], char *envp[])

los envp El parámetro también contiene variables de entorno. Cada entrada sigue este formato:

VARIABLENAME=VariableValue

como esto:

SHELL=/bin/bash    

La lista de variables de entorno tiene terminación nula.

IMPORTANTE: NO use ninguna argv o envp valores directamente en llamadas a system()! Esto es un enorme agujero de seguridad, ya que los usuarios malintencionados podrían establecer variables de entorno en los comandos de la línea de comandos y (potencialmente) causar daños masivos. En general, simplemente no use system(). Casi siempre hay una mejor solución implementada a través de bibliotecas C.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Unix / Linux – Variables especiales

gfg 200x200 min

Clase Java.io.File en Java – GeeksforGeeks