Cómo utilizar las principales () argumentos de la función en la programación c
De vuelta en los viejos tiempos, los programas presentados opciones de línea de comandos o interruptores. Por ejemplo, para compilar y enlazar un programa C, debería escribir algo como esto:
ex1501 cc ex1501.c -o
Los tres fragmentos de texto después del comando cc son opciones o interruptores. También son argumentos de la función main (). Un programa puede leer estos argumentos, incluso hoy en día, cuando el mundo corre sistemas operativos gráficos. Todo lo que necesita hacer en su código es examinar los argumentos de la función main ().
Cómo leer la línea de comandos
Haga de cuenta que es 1987 y usted está escribiendo un programa que dice " Hola " al usuario por su nombre. La forma en que recibe el nombre del usuario es que su código de tragar el primer trozo de texto que aparece después de que el nombre del programa en la línea de comandos. Ese código puede ser algo como Bueno, ¡Hola!
¡BUENO, HOLA AHÍ!
#include int main (int argc, char * argv []) {if (argc> 1) printf ("Saludos,% s n", argv [1]) - retorno (0) -}
La línea 5 utiliza el valor int argc para determinar si los elementos adicionales se escribieron después de que el nombre del programa en el símbolo del sistema.
Línea 6 utiliza el valor de cadena (matriz de caracteres) argv [1] para que aparezca el primer punto después de que el nombre del programa en el símbolo del sistema.
Ejercicio 1: Escriba el código fuente del Bien, ¡Hola! en un nuevo proyecto. Genere y ejecute.
El programa muestra ninguna salida a menos que se especifique un argumento de línea de comandos. Para que esto suceda en el Code :: Blocks, siga estos pasos:
Elija Argumentos Proyecto-Set Programas '.
Aparecerá el cuadro de diálogo Select Target.
Escriba el texto de línea de comandos en la parte Argumentos de programa del cuadro de diálogo Select Target.
Haga clic en el botón Aceptar.
Ejecute el programa de nuevo para ver su producción dado los argumentos de línea de comandos.
Si usted está de codificación en el símbolo del sistema, puede ejecutar el programa como este:
ex1501 Sadrac
Pulse la tecla Enter para ejecutar el programa.
El código utiliza sólo el primer argumento de la línea de comandos, así que si usted escribe más, están ignorado. Por ejemplo:
ex1501 Sadrac Mesac Abednego
En la línea anterior, sólo el nombre de Sadrac aparece en la salida.
Fundamentos de la main ()'s argumentos
Cuando usted no piensa en su programa de aceptar los argumentos de línea de comandos, puede dejar paréntesis la función main () de vacío. Me gusta esto:
int main ()
Cuando se utilizan los argumentos en su código, deben ser declaradas. Su uso se ve así:
int main (int argc, char * argv [])
argc es el valor de recuento argumento. Es un entero que oscila entre 1 y sin embargo muchos artículos se escribieron después de que el nombre del programa en el símbolo del sistema.
* argv [] es una matriz de punteros de carbonilla. Usted puede pensar en él en cambio, como una matriz de cadenas, que es la forma en que se puede utilizar en el código.
El código en argumento contrario simplemente cuenta el número de argumentos escritos en la línea de comandos. Ese valor, argc, se muestra.
CONTADOR ARGUMENTO
#include int main (int argc, char * argv []) {printf ("Escribió% d argumentos. n", argc) -Retorno (0) -}
Ejercicio 2: Escriba el código fuente anterior. Genere y ejecute escribiendo sin argumentos.
La función main () recibe información sobre el argumento de línea de comandos directamente desde el sistema operativo. Se evalúa la línea de comando, y los argumentos se cuentan y se hace referencia. La cifra aparece como argc, y las referencias se almacenan en la [] array argv.
Cuando no hay argumentos se escriben - en Code :: Blocks, eso significa que la ventana Argumentos de programa permanece vacío - que vea esta salida:
Escribió 1 argumentos.
Eso es porque el propio nombre del programa es considerado como el primer argumento. Puede demostrarlo mediante la adición de una sola línea de código:
printf ("Ese argumento es% s. n", argv [0]) -
Ejercicio 3: Modificar el código fuente mediante la adición de la línea anterior, insertarla después de la instrucción primera printf (). Genere y ejecute.
La salida del programa ahora muestra el nombre del programa - muy probablemente, una ruta completa del programa, que es exacta, pero un poco de exageración.
Ejercicio 4: Modificar el código de nuevo, esta vez añadiendo un bucle for para trabajar a través de todos los argumentos y la visualización de cada uno de ellos. Por ejemplo, la salida puede tener este aspecto:
begc4d $ ./ex1504 Sadrac Mesac AbednegoArg # 1 = ./ex1504Arg#2 = ShadrachArg # 3 = MeshachArg # 4 = Abednego