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