Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Diferencia entre main() y int main(int argc, char *argv[])

Estas en el tema de Diferencia entre main() y int main(int argc, char *argv[]) en el foro de C/C++ en Foros del Web. Hola a todos, Por la pregunta verán que solo hago programas sencillos (o mas bien programas complicados con herramientas muy simple). Toda mi vida he ...
  #1 (permalink)  
Antiguo 30/05/2008, 08:33
 
Fecha de Ingreso: mayo-2008
Ubicación: Caracas
Mensajes: 35
Antigüedad: 16 años
Puntos: 1
Diferencia entre main() y int main(int argc, char *argv[])

Hola a todos,

Por la pregunta verán que solo hago programas sencillos (o mas bien programas complicados con herramientas muy simple).

Toda mi vida he programado usando la función main de esta manera:

void main()
{
}

o

int main()
{
}

Pero últimamente me he encontrado que la función tiene argumentos

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

Me gustaría saber que significan esos argumentos y que otro tipo de argumento puede usarse.

Gracias y feliz día
  #2 (permalink)  
Antiguo 30/05/2008, 15:21
Avatar de _Lucifer_  
Fecha de Ingreso: junio-2006
Mensajes: 1.662
Antigüedad: 17 años, 11 meses
Puntos: 28
Respuesta: Diferencia entre main() y int main(int argc, char *argv[])

arcg: cantidad de parámetros contando el nombre del ejecutable que es el primer parámetro.

argv[]: Un arreglo que contiene todos los parámetros recibidos.

Estos parámetros se le pasan al programa por la linea de comandos, por ejemplo:
Cita:
$ cp /home/user/archivo1 /home/mi_home
En dos/win:
Cita:
c:\> copy a:\archivo c:\
Te puse un ejemplo sencillo, pero podría ser cualquier cosa numeros, mas parámetros, letras y números, etc.

Saludos
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba:
  #3 (permalink)  
Antiguo 30/05/2008, 15:26
 
Fecha de Ingreso: mayo-2008
Ubicación: Caracas
Mensajes: 35
Antigüedad: 16 años
Puntos: 1
Respuesta: Diferencia entre main() y int main(int argc, char *argv[])

Interesante.

Y que es mas util o poderoso la hora de programar?

Gracias
  #4 (permalink)  
Antiguo 30/05/2008, 15:43
 
Fecha de Ingreso: marzo-2008
Mensajes: 306
Antigüedad: 16 años, 1 mes
Puntos: 6
Respuesta: Diferencia entre main() y int main(int argc, char *argv[])

Cita:
Iniciado por colx007 Ver Mensaje

Y que es mas util o poderoso la hora de programar?
Comparando qué, con qué ?

Evidentemente un programa que tenga la posibilidad de aceptar parámetros de entrada es más flexible que otro que no, el cual se tendría que apañar leyendo los parametros de otros recursos como ficheros (por ejemplo stdin). Pero eso no es ni mas "poder" ni mas "utilidad".
__________________
Pop & Rock Bands
Pop Music Stars
  #5 (permalink)  
Antiguo 30/05/2008, 16:41
 
Fecha de Ingreso: septiembre-2006
Mensajes: 328
Antigüedad: 17 años, 8 meses
Puntos: 3
Respuesta: Diferencia entre main() y int main(int argc, char *argv[])

argc y argv[] son estandares del lenguaje, cuando se le pasan a main estos parametros, se pueden hacer muchas cosas directamente desde la linea de comandos.

Voy a usar el mismo ejemplo de windows de _Lucifer_:
Cita:
copy "C:\archivo.ext" "C:\User\archivo.ext"
el valor de argc= 3, ya que el nombre del programa es el primer parametro y luego van los dos parametros adicionales.

Como puedes apreciar argv[] es un arreglo, de modo que, para este caso, argv[0]== "copy", argv[1]== "C:\User\archivo.ext" y argv[2]=="C:\archivo.ext" (sin las comillas).

Y como dice "00siete" un programa capaz de recibir parametros por la linea de comandos es mucho mas flexible que otro que no.
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 19:22.