elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Funciones con nº variable de argumentos - stdarg.h
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Funciones con nº variable de argumentos - stdarg.h  (Leído 3,294 veces)
SSantiago90

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Funciones con nº variable de argumentos - stdarg.h
« en: 3 Mayo 2013, 22:27 pm »

Buenas

Estoy aprendiendo C++ de forma particular, leyendo foros por aqui y por alla, y principalmente guiandome por el libro "C++ con Clase".
En fin, venia bastante bien hasta que me topé con esto.

No entendí para nada el tema de la libreria stdarg, se que se usa para manipular las funciones cuando no definimos el numero de argumentos que se pasan como parametros, pero nada mas. No comprendo su funcionamiento y no he encontrado una buena guia o ayuda en internet, alguien me da una mano?


Citar
fichero de cabecera "stdarg.h", estas macros permiten manejar "fácilmente" las listas de argumentos desconocidos.

Tipos:

En el fichero de cabecera "stdarg.h" de define un tipo: va_list.
Será necesario declarar una variable de este tipo para tener acceso a la lista de
parámetros.

Macros:

También se definen tres macros: va_start, va_arg y va_end.

void va_start(va_list ap, ultimo);
Ajusta el valor de "ap" para que apunte al primer parámetro de la lista. <ultimo> es el identificador del último parámetro fijo antes de comenzar la lista.

tipo va_arg(va_list ap, tipo);
Devuelve el siguiente valor de la lista de parámetros, "ap" debe ser la misma variable que se actualizó previamente con "va_start", "tipo" es el tipo del parámetro que se tomará de la lista.

void va_end(va_list va);
Permite a la función retornar normalmente, restaurando el estado de la pila, esto es necesario porque algunas de las macros anteriores pueden modificarla, haciendo que el programa termine anormalmente.

Luego sigue con unos ejemplos pero no me ayudaron mucho.
Necesitaria una pequeña simplificacion de esto :)

Por otro lado, me pueden dar un ejemplo concreto de una situacion en la que sea necesario/util utilizar funciones con cantidad de argumentos variable?

Gracias, Saludos!


En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Funciones con nº variable de argumentos - stdarg.h
« Respuesta #1 en: 3 Mayo 2013, 22:31 pm »


Ejemplos/Explicacíon
http://c.conclase.net/curso/?cap=020b


En línea

SSantiago90

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Funciones con nº variable de argumentos - stdarg.h
« Respuesta #2 en: 3 Mayo 2013, 22:44 pm »

Es exactamente el material que estoy leyendo, me gustaria encontrar una explicacion diferente, gracias
En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Funciones con nº variable de argumentos - stdarg.h
« Respuesta #3 en: 3 Mayo 2013, 22:55 pm »

Es exactamente el material que estoy leyendo, me gustaria encontrar una explicacion diferente, gracias

Creo que la explicación ahí es clara. un ejemplo como podrias ver es la funcion Printf, utiliza un numero variable de argumentos
debido que el usuario puede agregar valores tanto como el quiera ( Longitud depende de la implementación, algunas aceptan como longitud maxima de la cadena de formato a 1024, etc )
Dependendiendo de la situacion reemplazo de un puntero a array de punteros.

Yo supongo que el entendimiento de las macros/tipo(s) de Variables que se emplean ha sido comprendido.
En línea

SSantiago90

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Funciones con nº variable de argumentos - stdarg.h
« Respuesta #4 en: 4 Mayo 2013, 14:19 pm »

Me parece que aqui esta mejor explicado, y hay otros ejemplos, por si a alguien le sirve

http://manpages.ubuntu.com/manpages/precise/es/man3/stdarg.3.html

saludos
En línea

85

Desconectado Desconectado

Mensajes: 206



Ver Perfil WWW
Re: Funciones con nº variable de argumentos - stdarg.h
« Respuesta #5 en: 6 Mayo 2013, 22:05 pm »

por el foro había algo
http://foro.elhacker.net/programacion_cc/argumentos_variables-t360460.0.html

En línea

Me cerraron el Windows Live Spaces, entonces me creé un WordPress XD
http://etkboyscout.wordpress.com/
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Funciones con número arbitrario de argumentos [PHP]
PHP
madpitbull_99 3 4,948 Último mensaje 6 Marzo 2011, 22:31 pm
por JungleBoogie
ver argumentos de funciones codeblocks
Programación C/C++
_niu 2 2,746 Último mensaje 15 Diciembre 2011, 21:57 pm
por _niu
Problema con argumentos por defectos en funciones.
Programación C/C++
anonimo12121 3 2,289 Último mensaje 25 Julio 2012, 14:18 pm
por overxfl0w13
[C] Argumentos anónimos en llamadas a funciones
Programación C/C++
MAFUS 4 2,061 Último mensaje 23 Diciembre 2015, 17:26 pm
por 0xFer
Funciones con argumentos OR: ¿Como?
Programación C/C++
Desiresportal 1 1,457 Último mensaje 1 Junio 2016, 14:34 pm
por class_OpenGL
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines