1
00:00:00,000 --> 00:00:00,560

2
00:00:00,560 --> 00:00:02,460
>> DAVID J. MALAN: Vamos levar as coisas
mais um passo, agora.

3
00:00:02,460 --> 00:00:05,450
Suponha que eu não quero apenas
para imprimir todo o meu programa de

4
00:00:05,450 --> 00:00:06,630
Argumentos da linha de comando.

5
00:00:06,630 --> 00:00:10,490
Mas eu, ao contrário, deseja imprimir todas as
caracteres individuais em cada um dos

6
00:00:10,490 --> 00:00:14,060
meus argumentos de linha de comando, um por
A linha, de modo que após a execução deste

7
00:00:14,060 --> 00:00:17,490
programa, eu simplesmente ver um fluxo de
caracteres na tela que

8
00:00:17,490 --> 00:00:20,700
coletivamente são de minha sequência
de argumentos de linha de comando.

9
00:00:20,700 --> 00:00:21,980
>> Bem, como eu posso fazer isso?

10
00:00:21,980 --> 00:00:26,540
Eu posso manter intacta meu loop de antes
pelo qual eu iterativo de i até

11
00:00:26,540 --> 00:00:30,060
ARGC para integrar todo o
próprios argumentos de linha de comando.

12
00:00:30,060 --> 00:00:34,460
Mas agora, dentro de cada iteração do que
loop, eu preciso fazer uma iteração agora sobre cada

13
00:00:34,460 --> 00:00:38,550
dos personagens ou caracteres
em uma seqüência específica.

14
00:00:38,550 --> 00:00:40,620
Então, para fazer isso, eu preciso de mais um loop.

15
00:00:40,620 --> 00:00:42,090
>> Vamos adicionar isso.

16
00:00:42,090 --> 00:00:46,890
para int, vamos chamá-lo j, é igual a 0.

17
00:00:46,890 --> 00:00:49,980
Agora estou indo a necessidade de integrar
até o comprimento do

18
00:00:49,980 --> 00:00:52,310
corda corrente em ARGV.

19
00:00:52,310 --> 00:00:55,910
Então deixe-me dar-me um outro local,
variável, vamos chamá-lo de n, e definir

20
00:00:55,910 --> 00:01:00,120
que igual ao comprimento da corda do
argumento atual, que vai ser

21
00:01:00,120 --> 00:01:04,230
encontrada em suporte ARGV i ponto e vírgula.

22
00:01:04,230 --> 00:01:08,500
>> Deixe-me interar do j-se
até n seguido por um

23
00:01:08,500 --> 00:01:10,400
incrementar em cada iteração.

24
00:01:10,400 --> 00:01:13,850
Vamos agora imprimir o indivíduo
caracteres na tela.

25
00:01:13,850 --> 00:01:21,920
Printf% c este tempo, seguido por um novo
linha, citações perto, vírgula, e agora eu

26
00:01:21,920 --> 00:01:25,565
precisa do caráter j-th
no argumento de i-th.

27
00:01:25,565 --> 00:01:30,240
>> Assim, para obter com isso, eu posso simplesmente
especificar suporte ARV i para

28
00:01:30,240 --> 00:01:32,050
obter o argumento de i-th.

29
00:01:32,050 --> 00:01:36,140
E então eu posso mergulhar em um nível mais profundo
e fazer um índice secundário de

30
00:01:36,140 --> 00:01:40,420
suporte j, perto parênteses,
ponto e vírgula, em Salvar.

31
00:01:40,420 --> 00:01:43,610
E vamos agora compilar e
executar este programa.

32
00:01:43,610 --> 00:01:46,630
>> Faça ARGV2 -

33
00:01:46,630 --> 00:01:48,440
Não é bem o que eu estava esperando.

34
00:01:48,440 --> 00:01:50,740
Vamos percorrer até o primeiro
dessas mensagens de erro.

35
00:01:50,740 --> 00:01:54,540
E em vermelho aqui, vemos erro,
implicitamente declarando função de biblioteca

36
00:01:54,540 --> 00:01:56,290
strlen com o tipo -

37
00:01:56,290 --> 00:01:57,380
oh, espere um minuto.

38
00:01:57,380 --> 00:02:00,340
Esta é a primeira vez que eu usei
strlen, e eu não antecipei

39
00:02:00,340 --> 00:02:04,970
querendo em um primeiro momento, então eu não incluiu
o arquivo de cabeçalho que declara

40
00:02:04,970 --> 00:02:06,290
uma função comprimento da corda.

41
00:02:06,290 --> 00:02:09,419
>> Então, na parte superior do meu arquivo,
recall, tenho CS50.h.

42
00:02:09,419 --> 00:02:11,080
Tenho io.h. padrão

43
00:02:11,080 --> 00:02:14,500
Mas acontece, e eu sei que isso
ler a documentação, o que eu preciso

44
00:02:14,500 --> 00:02:18,320
um terceiro arquivo de cabeçalho, se eu, de fato,
quer usar a função strlen.

45
00:02:18,320 --> 00:02:22,760
Essa função é declarada em string.h.

46
00:02:22,760 --> 00:02:25,230
>> Vamos salvar novamente o arquivo,
compilar e executar.

47
00:02:25,230 --> 00:02:32,360

48
00:02:32,360 --> 00:02:35,570
E, desta vez, nós não apenas
ver cada um dos argumentos.

49
00:02:35,570 --> 00:02:40,470
Nós, ao contrário ver cada um dos argumentos
um carácter de cada vez.

50
00:02:40,470 --> 00:02:43,165