>> DAVID J. MALAN: Vamos levar as coisas mais um passo, agora.
Suponha que eu não quero apenas para imprimir todo o meu programa de
Argumentos da linha de comando.
Mas eu, ao contrário, deseja imprimir todas as caracteres individuais em cada um dos
meus argumentos de linha de comando, um por A linha, de modo que após a execução deste
programa, eu simplesmente ver um fluxo de caracteres na tela que
coletivamente são de minha sequência de argumentos de linha de comando.
>> Bem, como eu posso fazer isso?
Eu posso manter intacta meu loop de antes pelo qual eu iterativo de i até
ARGC para integrar todo o próprios argumentos de linha de comando.
Mas agora, dentro de cada iteração do que loop, eu preciso fazer uma iteração agora sobre cada
dos personagens ou caracteres em uma seqüência específica.
Então, para fazer isso, eu preciso de mais um loop.
>> Vamos adicionar isso.
para int, vamos chamá-lo j, é igual a 0.
Agora estou indo a necessidade de integrar até o comprimento do
corda corrente em ARGV.
Então deixe-me dar-me um outro local, variável, vamos chamá-lo de n, e definir
que igual ao comprimento da corda do argumento atual, que vai ser
encontrada em suporte ARGV i ponto e vírgula.
>> Deixe-me interar do j-se até n seguido por um
incrementar em cada iteração.
Vamos agora imprimir o indivíduo caracteres na tela.
Printf% c este tempo, seguido por um novo linha, citações perto, vírgula, e agora eu
precisa do caráter j-th no argumento de i-th.
>> Assim, para obter com isso, eu posso simplesmente especificar suporte ARV i para
obter o argumento de i-th.
E então eu posso mergulhar em um nível mais profundo e fazer um índice secundário de
suporte j, perto parênteses, ponto e vírgula, em Salvar.
E vamos agora compilar e executar este programa.
>> Faça ARGV2 -
Não é bem o que eu estava esperando.
Vamos percorrer até o primeiro dessas mensagens de erro.
E em vermelho aqui, vemos erro, implicitamente declarando função de biblioteca
strlen com o tipo -
oh, espere um minuto.
Esta é a primeira vez que eu usei strlen, e eu não antecipei
querendo em um primeiro momento, então eu não incluiu o arquivo de cabeçalho que declara
uma função comprimento da corda.
>> Então, na parte superior do meu arquivo, recall, tenho CS50.h.
Tenho io.h. padrão
Mas acontece, e eu sei que isso ler a documentação, o que eu preciso
um terceiro arquivo de cabeçalho, se eu, de fato, quer usar a função strlen.
Essa função é declarada em string.h.
>> Vamos salvar novamente o arquivo, compilar e executar.
E, desta vez, nós não apenas ver cada um dos argumentos.
Nós, ao contrário ver cada um dos argumentos um carácter de cada vez.