PDA

Visualizza la versione completa : stampa argv


rikideveloper
02-03-2015, 16:55
Salve, mi spiegate il motivo per il quale se stampo:

int main(int argc,char *argv[]){






printf("%s\n\n\n",argv[0]);

}

mi esce il percorso del programma e non il nome del programma?

oregon
02-03-2015, 17:09
argv[0] contiene il nome del file eseguibile compreso di percorso.

rikideveloper
02-03-2015, 17:14
Ah ok grazie!

MItaly
02-03-2015, 17:16
In realtà neanche, contiene qualcosa che c'entra con il nome del programma, ma varia a seconda del sistema operativo e del modo in cui è stato invocato il programma.

rikideveloper
02-03-2015, 17:20
un ultima cosa, perchè se stampo argc, il programma mi stampa 0
int main(int argc,char *argv[])

rikideveloper
02-03-2015, 17:21
un ultima cosa, perchè se stampo argc, il programma mi stampa 0
int main(int argc,char *argv[])

oregon
02-03-2015, 17:23
Con quale sistema, con quale codice?

rikideveloper
02-03-2015, 17:28
Visual studio 2010, windows 7 64 bit:



int main(int argc,char *argv[]){






//Stampa il numero di argomenti ricervuti
printf("Ho ricevuto %d argomenti\n\n\n",argc-1);

}

oregon
02-03-2015, 17:29
Se visualizzi

argc-1

allora argc è 1 ...

rikideveloper
02-03-2015, 17:49
Se visualizzi

argc-1

allora argc è 1 ...

a me però stampa 0

Loading