[C con Clase] Controlar argv y argc

d1cor cordobadie en gmail.com
Dom Jun 8 07:20:54 CEST 2014


On Fri, 6 Jun 2014 20:52:22 -0300
Facundo Curti <facu.curti en gmail.com> wrote:

> Hola lista!
> Solo quería preguntar si alguien la existencia de alguna librería para
> controlar los argumentos de linea de comando argc y argv (No logro
> encontrar una). o alguna recomendación que me puedan dar para hacerla.
> Me parece muy desprolijo hacerlo a puros if, y otro metodo no se me
> ocurre.
> 
> Habia pensado en almacenar en un array las opciones de argv posibles,
> (con alguna flag que indique si ese comando va acompañado de un
> segundo elemento o no). Luego recorro ese array y controlo que esté
> todo bien. Pero no tengo forma de indicarle que ejecute X función para
> X elemento del array. Nuevamente tendría que recurrir a puros if. O
> como mínimo, un case.
> 
> Alguna idea prolija/mejor de como puedo hacer esto? Si me pudieran
> indicar de alguna librería también se los agradecería, luego ya creare
> la mía propia a partir de esa.
> 

Has probado getopt?

Creo que es la mejor manera de gestionar los argumentos de linea de comandos.

Pegale una mirada a esto:
https://www.gnu.org/software/libc/manual/html_node/Getopt.html

Podés gestionar modificadores individuales y modificadores acompañados de argumentos, como por ejemplo, -l, o -f <filename>... y te facilita un montón el trabajo teniendo en cuenta que el usuario puede ingresar los modificadores sin tener en cuenta el orden.

Espero que te sirva! (recien veo tu chat en el celu xD)

Saludos a todos!

-- 
Ing. Diego Cordoba
GNU/Linux Instructor & Consultant
LPI Linux Certified Professional
CLA Carrera Linux Argentina
www.carreralinux.com.ar
www.d1cor.tk




Más información sobre la lista de distribución Cconclase