PDA

Visualizza la versione completa : int main(int argc, char *argv[])..


Michele Facchin
28-12-2002, 15:40
Salve, se scrivo:

int main(int argc, char *argv[]){
printf("%s",argv[1]);
return(0);
}

In output leggo il primo parametro che scrivo...
Ma se io non avessi il numero dei parametri definiti?

Faccio un esempio:



[michele@localhost c]$ ./ciao questa Ŕ una bella giornata!

Vorrei che il programma mi scrivesse:

questa Ŕ una bella giornata!

E' possibile farlo?

alexmaz
28-12-2002, 15:57
argc contiene il numero di parametri passati alla riga di comando. E' sempre almeno 1 perchŔ argv[0] Ŕ il nome del programma.

Michele Facchin
28-12-2002, 16:03
Si lo s˛...
Ma forse non mi sono spiegato bene:

Se io scrivo argv[1] Ŕ la prima parola...

Se io scrivo argv[2] Ŕ la seconda parola...

Se io scrivo argv[3] Ŕ la terza parola...

Io vorrei avere un argv che me le scrive tutte a partire da una specificata.

Esiste questa possibilitÓ?

Ripeto:

./ciao 1 2 3

Risultato:

1 2 3

Oppure:

./ciao 1 2 3 4 5 6 7

Risultato:

1 2 3 4 5 6 7

alexmaz
28-12-2002, 16:10
la risposta l'avevi gia, ma cmq...



int main(int argc, char *argv[]){
int i;
for(i = 1; i < argc; i++)
printf("%s\n", argv[i]);
return(0);
}

Johnny_Depp
28-12-2002, 16:14
nome_programma "1 2 3 4 5 6 7 8 9 10"

metti ogni parametro tra doppi apici!!!

parametro1 = 1 2 3 4 5 6 7 8 9 10

Johnny_Depp
28-12-2002, 16:58
...cmq la risposta pi¨ corretta Ŕ quella che ti ha dato alexmaz ;)

alexmaz
28-12-2002, 16:58
Originariamente inviato da Johnny_Depp
nome_programma "1 2 3 4 5 6 7 8 9 10"

metti ogni parametro tra doppi apici!!!

parametro1 = 1 2 3 4 5 6 7 8 9 10

perchŔ hai cancellato il tuo secondo post? :D

Johnny_Depp
28-12-2002, 16:58
:gren: i n d o v i n a :quote:

alexmaz
28-12-2002, 16:59
Originariamente inviato da Johnny_Depp
:gren: i n d o v i n a :quote:

non lo so :fagiano:

Johnny_Depp
28-12-2002, 17:01
perchŔ (sarÓ colpa della digestione :gren: )

avevo scritto una cavol***

Loading