>> DAVID J. Malan: Imos levar as cousas un paso adiante, agora.
Supoñamos que eu non quero só para imprimir todo o meu programa de
Argumentos da liña de comandos.
Pero, pola contra, desexa imprimir todas as caracteres individuais en cada un dos
meus argumentos de liña de comandos, unha por A liña, de xeito que tras a execución deste
programa, eu simplemente ver un fluxo de caracteres na pantalla que
colectivamente son de miña secuencia de argumentos de liña de comandos.
>> Ben, como podo facelo?
Podo manter intacta meu loop de antes polo cal eu iterativo de i ata
ARGC para integrar todo o propios argumentos de liña de comandos.
Pero agora, dentro de cada iteración do que loop, eu teño que facer unha iteración agora sobre cada
dos personaxes ou caracteres nunha secuencia específica.
Entón, para facelo, eu teño un loop.
>> Imos engadir iso.
para int, imos chamalo j, é igual a 0.
Agora estou indo a necesidade de integrar ata a lonxitude do
corda corrente en argv.
Entón deixe-me dar-me un outro lugar, variable, imos chamalo de n, e establecer
que igual á lonxitude da corda do argumento actual, que será
atopada en soporte argv i punto e coma.
>> Déixeme interar do j-se ata n seguido por un
incrementar en cada iteración.
Imos agora imprimir o individuo caracteres na pantalla.
Printf% c este tempo, seguido por un novo liña, multimedia preto, coma, e agora eu
precisa do carácter j-th no argumento de i-th.
>> Así, para obter con iso, podo simplemente especifica soporte ARV i para
obter o argumento de i-th.
E entón podo mergullo nun nivel máis profundo e facer un índice secundario de
soporte j, preto parénteses, punto e coma, en Gardar.
E imos agora compilar e executar este programa.
>> Fai ARGV2 -
Non é así o que eu estaba esperando.
Imos percorrer ata o primeiro destas mensaxes de erro.
E en vermello aquí vemos erro, implicitamente declarando función de biblioteca
strlen co tipo -
Oh, agarde un minuto.
Esta é a primeira vez que eu usei strlen, e eu non anticipei
querendo nun primeiro momento, entón eu non incluíu o ficheiro de cabeceira que declara
unha función lonxitude da corda.
>> Entón, na parte superior do meu arquivo, recall, teño CS50.h.
Teño io.h. defecto
Pero acontece, e sei que isto ler a documentación, o que eu teño
un terceiro arquivo de cabeceira, se eu, de feito, Quere usar a función strlen.
Esta función é declarada en string.h.
>> Imos gardar de novo o ficheiro, compilar e executar.
E, esta vez, non só ver cada un dos argumentos.
Nós, pola contra ver cada un dos argumentos un carácter de cada vez.