1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:03,230 >> SPEAKER: Fino ad ora, nei programmi che abbiamo scritto, abbiamo dichiarato principale 3 00:00:03,230 --> 00:00:04,940 int void main. 4 00:00:04,940 --> 00:00:07,600 E tutto questo tempo, che nulla ha semplicemente stati specificando che il 5 00:00:07,600 --> 00:00:10,870 programma non si assume alcuna argomenti della riga di comando. 6 00:00:10,870 --> 00:00:14,180 In altre parole, quando un utente esegue una programma, lui o lei può fornire comando 7 00:00:14,180 --> 00:00:18,130 gli argomenti della riga di scrittura di ulteriori parole o frasi dopo del programma 8 00:00:18,130 --> 00:00:19,420 nome al prompt. 9 00:00:19,420 --> 00:00:22,980 >> Beh, se si desidera che il programma prendere gli argomenti della riga di comando, uno o 10 00:00:22,980 --> 00:00:26,960 più tali parole, abbiamo bisogno di sostituire annullare con un paio di argomenti. 11 00:00:26,960 --> 00:00:28,630 Allora facciamolo. 12 00:00:28,630 --> 00:00:32,170 Includi CS50.h. 13 00:00:32,170 --> 00:00:35,760 Includi io.h. norma 14 00:00:35,760 --> 00:00:40,830 Int, principale, e ora invece di vuoto, Io vado a specificare un int chiamato 15 00:00:40,830 --> 00:00:45,800 argc, e una serie di stringhe chiamato argv. 16 00:00:45,800 --> 00:00:48,240 >> Ora, argc e argv sono semplicemente convenzioni. 17 00:00:48,240 --> 00:00:50,530 Avremmo potuto chiamare questi argomenti più tutto ciò che vogliamo. 18 00:00:50,530 --> 00:00:54,050 Ma ciò che è importante è che argc è un int, perché per definizione, è 19 00:00:54,050 --> 00:00:57,810 andando a contenere i conteggi argomento, il numero di parole in totale che il 20 00:00:57,810 --> 00:00:59,830 utente ha digitato a sua richiesta. 21 00:00:59,830 --> 00:01:04,310 >> Argv, nel frattempo, l'argomento vettore, è andando ad essere in realtà un array memorizzazione 22 00:01:04,310 --> 00:01:08,460 tutte le parole che l'utente ha digitato a sua richiesta. 23 00:01:08,460 --> 00:01:10,920 Andiamo a fare qualcosa adesso con uno o più di questi 24 00:01:10,920 --> 00:01:12,090 argomenti della riga di comando. 25 00:01:12,090 --> 00:01:16,440 In particolare, andiamo avanti e stampa qualunque parola l'utente 26 00:01:16,440 --> 00:01:20,380 dopo il nome del programma al prompt. 27 00:01:20,380 --> 00:01:26,940 >> Aprire la staffa, staffa chiusa, stampa f, s per cento, backslash n, virgola. 28 00:01:26,940 --> 00:01:30,930 Ed ora ho bisogno di dire quello che la stampa f valore di collegare in quel segnaposto. 29 00:01:30,930 --> 00:01:35,030 Voglio che la prima parola che l'utente ha digitato dopo il nome del programma. 30 00:01:35,030 --> 00:01:39,550 E così ho intenzione di specificare Staffa argv 1, chiuso 31 00:01:39,550 --> 00:01:41,250 parentesi, punto e virgola. 32 00:01:41,250 --> 00:01:43,710 >> Ora, perché la staffa 1 e non 0 staffa? 33 00:01:43,710 --> 00:01:47,410 Beh, si scopre, memorizzate automaticamente in argv 0 sta per essere l' 34 00:01:47,410 --> 00:01:49,040 nome effettivo del programma. 35 00:01:49,040 --> 00:01:52,600 Quindi la prima parola che l'utente digita dopo il nome del programma è, per 36 00:01:52,600 --> 00:01:55,410 convenzione, sta per essere memorizzato in argv 1. 37 00:01:55,410 --> 00:01:58,800 >> Vediamo ora compilare e eseguire questo programma. 38 00:01:58,800 --> 00:02:08,080 Fai argv 0 dot barra argv 0, e ora una parola come ciao, entrare. 39 00:02:08,080 --> 00:02:09,330 E non l'abbiamo, ciao. 40 00:02:09,330 --> 00:02:11,332