Argumentos en la línea de órdenes

Anuncio
Argumentos en la línea de órdenes
Se puede pasar argumentos en la línea de órdenes a un programa cuando
empieza su ejecución. Cuando se llama a main() se le invoca con dos
argumentos.
int argc
char **argv
Contador de argumentos
Vector de argumentos
Ejemplo: (eco de los argumentos en la línea de órdenes)
#include<stdio.h>
main(int argc, char **argv)
{
int i;
}
for(i=1;i<argc;i++)
printf("%s ",argv[i]);
printf("\n");
return 0;
Muchas veces uno quiere pasar parámetros numéricos al programa, como por
ejemplo
> prog 3 5.0e-7
argc
: 3 (número de parámetros)
argv[0] : "prog" (nombre del programa)
argv[1] : "3"
argv[2] : "5.0e-7"
argv[3] : NULL
En este caso los parámetros numéricos son arrays de caracteres! En la
biblioteca estándar están definidas dos funciones para convertir cadenas en
números enteros o punto flotante.
int atoi(char*)
double atof(char*)
Convertir cadena en entero
Convertir cadena en punto flotante
Ejemplo:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
int i;
double df;
if(argc != 3)
{
fprintf(stderr, "usage :
return EXIT_FAILURE;
}
i = atoi(argv[1]);
df = atof(argv[2]);
fprintf(stdout, "
}
i:
return EXIT_SUCCESS;
%d
%s
<i>
df:
<df>\n", argv[0]);
%f\n", i, df);
Descargar