[RISOLTO]programma c: funzione con numero di parametri variabile
Inviato: mercoledì 13 giugno 2007, 9:17
salve a tutti,
devo fare il seguente programma c:
Scrivere una funzione a numero variabile di parametri (v. man stdarg). Tutti i parametri passati sono di tipo char*, un elemento di valore
(char*)0 indica la fine della lista. Ogni parametro identifica un eseguibile privo di parametri da lanciare (con fork e execlp). ad esempio: runall("ls","date","uname",(char*)0);
al momento sto cercando ancora di passare parametri variabili alla funzione e stamparli
in questo modo funziona parzialmente ne senso che ottengo questo Output:
devo fare il seguente programma c:
Scrivere una funzione a numero variabile di parametri (v. man stdarg). Tutti i parametri passati sono di tipo char*, un elemento di valore
(char*)0 indica la fine della lista. Ogni parametro identifica un eseguibile privo di parametri da lanciare (con fork e execlp). ad esempio: runall("ls","date","uname",(char*)0);
al momento sto cercando ancora di passare parametri variabili alla funzione e stamparli
Codice: Seleziona tutto
#include <stdarg.h>
#include <stdio.h>
void funzione(char *fmt,...);
main (){
funzione("sdc" , "stringa", "ciao");
funzione("s" , "stringa2");
}
void funzione(char *fmt, ...)
{
va_list ap;
char c, *s;
va_start(ap, fmt);
while (*fmt){
switch(*fmt++)
case 's': // string
s = va_arg(ap, char *);
printf("string %s\n", s);
break;
}
va_end(ap);
}
Codice: Seleziona tutto
string stringa
string stringa2