Argumentos de Línea de Comandos
Entendiendo los Argumentos de Línea de Comandos
Los argumentos de línea de comandos permiten a los usuarios pasar información a un programa directamente desde la terminal al ejecutarlo. Proporcionan una forma flexible de interactuar con los programas sin modificar el código fuente.
Estructura Básica de los Argumentos
int main(int argc, char *argv[]) {
// argc: Contador de Argumentos
// argv: Vector de Argumentos
return 0;
}
Componentes de los Argumentos
| Componente |
Descripción |
Ejemplo |
argc |
Número total de argumentos |
3 en ./programa arg1 arg2 |
argv[0] |
Nombre del programa |
./programa |
argv[1] |
Primer argumento |
arg1 |
argv[n] |
Argumentos subsecuentes |
arg2, arg3, etc. |
Ejemplo Práctico
#include <stdio.h>
int main(int argc, char *argv[]) {
printf("Nombre del Programa: %s\n", argv[0]);
printf("Total de Argumentos: %d\n", argc);
for (int i = 1; i < argc; i++) {
printf("Argumento %d: %s\n", i, argv[i]);
}
return 0;
}
Flujo de Procesamiento de Argumentos
graph TD
A[Ejecutar Programa] --> B[Shell Pasa Argumentos]
B --> C[main() Recibe argc/argv]
C --> D[Procesar Argumentos]
D --> E[Ejecución del Programa]
Manejo Avanzado de Argumentos
Conversión de Tipo de Argumentos
#include <stdlib.h>
int main(int argc, char *argv[]) {
if (argc > 1) {
int numero = atoi(argv[1]); // Convertir cadena a entero
printf("Número Convertido: %d\n", numero);
}
return 0;
}
Casos de Uso Comunes
- Procesamiento de archivos
- Configuraciones
- Parámetros de entrada
- Personalización del programa
Demostración en Ubuntu 22.04
## Compilar el programa
gcc -o argdemo argdemo.c
## Ejecutar con argumentos
./argdemo Hola LabEx
Buenas Prácticas
- Validar siempre el número de argumentos.
- Manejar posibles errores de conversión.
- Proporcionar instrucciones de uso.
- Usar
getopt() para el análisis complejo de argumentos.
Sugerencia de LabEx
En los entornos de programación C de LabEx, dominar los argumentos de línea de comandos permite diseños de programas más dinámicos e interactivos.