Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Shon en 10 Octubre 2010, 14:00 pm



Título: ¿Qué hace exacta,emte ... "
Publicado por: Shon en 10 Octubre 2010, 14:00 pm
Hola,

he visto en varios sitios que hacen algo como esto:
Código
  1. int funcion(int arg1, char *arg2, ...) {
  2.    /* lo que sea */
  3. }

Qué hace esos tres puntos  :huh:

graciaaaaas



Título: Re: ¿Qué hace exacta,emte ... "
Publicado por: bizco en 10 Octubre 2010, 15:20 pm
eso es que la funcion tiene un numero variable de argumentos.


Título: Re: ¿Qué hace exacta,emte ... "
Publicado por: cbug en 10 Octubre 2010, 15:21 pm
Si es una función cualquiera, estas pasando un int y puntero a char y un número variable de argumentos...


Título: Re: ¿Qué hace exacta,emte ... "
Publicado por: globsharp en 10 Octubre 2010, 15:41 pm
Hola, yo tengo otra duda, relacionada con eso, yo ya sabía que los puntos suspensivos servían para eso, pero, mi pregunta es, ¿cómo accedes a esos argumentos variables una vez estás dentro de la rutina? ¿Alguien sabe?  :huh:

Y ya que estamos, ¿esto funciona en el C estándar o depende del compilador?

Gracias.


Título: Re: ¿Qué hace exacta,emte ... "
Publicado por: cbug en 10 Octubre 2010, 15:44 pm
Aqui tienes un ejemplo:

http://www.ozzu.com/es/tutoriales-de-cpp/tutorial-pase-numero-variable-argumentos-una-funcion-t96483.html


Título: Re: ¿Qué hace exacta,emte ... "
Publicado por: globsharp en 10 Octubre 2010, 15:48 pm
¡Espléndido ejemplo, espléndido!  ;D

¡Muchas gracias!