Foros del Web » Programación para mayores de 30 ;) » Programación General »

Diferencia entre argc y argv. Lenguaje C

Estas en el tema de Diferencia entre argc y argv. Lenguaje C en el foro de Programación General en Foros del Web. Buenas !! Verán, tengo que hacer un programa con la siguiente estructura: void main(int argc, char *argv[]){ ---------- ---------- } Pero no tengo ni idea ...
  #1 (permalink)  
Antiguo 29/12/2004, 08:14
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 21 años, 5 meses
Puntos: 7
Diferencia entre argc y argv. Lenguaje C

Buenas !!

Verán, tengo que hacer un programa con la siguiente estructura:

void main(int argc, char *argv[]){
----------
----------
}

Pero no tengo ni idea de como capturar los argumentos y como hacer referencia a ellos.

Se que argc es un parametro de tipo int y que argv es un vector de argumentos, ¿No?

Entonces, a la hora de llamar al programa sería:

programa argumento1 argumento2 argumento3 (Argumento1 es argc y los demás ya están dentro de argv, ¿Verdad?)

Y bueno, como haría en la programación para hacer referencia a un parametro o a otro?

printf ("%d", argc); y printf("%d", argv[2]);

¿Esta bien asi?

Por favor, haber si pueden hecarme un cable, desde ya, muchas gracias por la ayuda.
__________________
Charlie.
  #2 (permalink)  
Antiguo 29/12/2004, 08:18
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 22 años, 5 meses
Puntos: 16
Hola,

Si mal no recuerdo, argc es el numero de argumentos, y todos los argumentos estan en el array argv (es un array de cadenas). argc es necesario para no salirse de los limites del array.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 29/12/2004, 08:34
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 21 años, 5 meses
Puntos: 7
Si Josemi, muchas gracias, ya lo había solucionado.

Efectivametne, argc es el número de argumentos que se pasan a la aplicación (También cuenta como argumento el propio nombre de programa).

Para accecer a los valores de argv es asi:

printf("%d", *argv[posicion]);

Gracias por la ayuda de todas formas.
Saludos
__________________
Charlie.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:34.