Newsgroup: it.comp.aiuto
Titolo: Problema con Linguaggio C

 IN ATTESA DI UN VOSTRO CORDIALE AIUTO VI RINGRAZIO ANTICIPATAMENTE - GR=
AZIE
non dovresti piu' usarlo.
meglio usa C++ e fa l'overloading della funzione.
comunque eccoti un ess. di come si fa:
/* Inizio file .C */
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
/****************** funzione essempio di uso di stdarg
* stampa uno ad uno tutti gli argomenti fornitigli.
* il primo parametro e' un intero che contiene il numero di argomenti
* gli altri parametri tutti NTBS.
*
* ATTN: il numero_args *DEVE* essere <=3D al numero di argomenti
*       altrimenti Unexpected Behavior happens
*/
void funzione(int numero_args, ...) /* i ... sono gli argomenti extra */
{
	va_list ap;		/* contatore della lista */
	char* argomento;
	/*
	 *   questa macro devv'essere invocata prima del
	 *   accesso agli argomenti senza nome
	 */
	va_start(ap, 		/* questo e' il va_list */
	         numero_args);  /* l'ultimo parametro prima di ... */
	while(numero_args--) /* mentre vi sono argomenti */
	{
		argomento =3D va_arg(ap, /* sempre lei */
		                   char*); /* il tipo dell argomento */
		if( fputs(argomento) < 0)
		{
			perror("krash");
			exit(EXIT_FAILURE);
		}
	}
	va_end(ap);  /* finito lo scanning della lista */
} =
/* EOF */
-- =
Luis E. Garcia Ontanon
mailto:
lont...@concentric.net
http://www.concentric.net/~lontanon
Lplusplus on Undernet (Lplusplus!*lontanon@*
la.concentric.net
)

         }
Mah, mi sembra che   la  cosa non sia   poi  difficile, poni un   aux,
puntatore a puntatore a   void, uguale (&FORMATO)+1, poi  passando  al
setaccio la  stringa di formato interpreti  il  contenuto di *aux come
richiesto dal descrittore di formato, incrementando alla fine aux. Nel
caso di soli parametri stringhe aux la puoi definire come char **aux e
accedere alle varie stringhe come aux[0], aux[1], aux[2] eccetera.
o   oooooo	Gian Uberto Lauri        "So, are you working on finding
      o    o	
sa...@maya.dei.unipd.it
   that bug *now* or leaving it until
     o o				  later?" - "Yes!" 
========================================================
WARNING: Payment is required for use of the above Email
address for unsolicited commercial Email or as part of a
mailing list for any purpose. 
As for US Federal and/or Italian Laws, by sending commercial
E-mail you agree to pay US$500.00 for storage fees.
========================================================
"By US Code Title 47, Sec.227(a)(2)(B), a computer/modem/printer meets
the definition of a telephone fax machine.  By Sec.227(b)(1)(C), it is
unlawful to send any unsolicited advertisement to such equipment.  By
Sec.227(b)(3)(C), a violation of the aforementioned Section is
punishable by action to recover actual monetary loss, or $500, whichever
is greater, for each violation."

 meglio usa C++ e fa l'overloading della funzione.
Mah il C e' + veloce :) ( guerra di religione :) )
Grazie per avermi ricordato di v_arg (non ho un K&R qui :)). La mia
soluzione (5 minuti) aveva un bel baco... Quale ? :)


 Mah il C e' + veloce :) ( guerra di religione :) )
Un tempo si doveva filtrare da cfront il file x.cc (x.cpp) per ottenere
un x.c che poi passava dal perprocessore per venire fuori come x.i per
poi essere compilato... 
Oggi giorno i compilatori c++ sono nativi non hanno bisogno di
precompilazione. basta non usare funzioni virtuali, try{}catch(){}, e
altri costrutti. ed il compilato vola lo stesso.
-- 
