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