>> DAVID J. MALAN: La oss ta ting ett skritt videre, nå.
Anta at jeg ikke bare vil å skrive ut alle mine programmets
kommandolinjeargumentene.
Men jeg, i stedet, ønsker å skrive ut alle individuelle tegn i hvert av
mine kommandolinjeargumenter, én per linje, slik at ved å kjøre denne
program, I bare ser en strøm av tegn på skjermen som
kollektivt er fra min sekvens av kommandolinjeargumenter.
>> Vel, hvordan kan jeg gjøre dette?
Jeg kan holde intakt min sløyfe fra før hvorved jeg iterativ fra jeg frem til
Argc for å integrere over hele kommandolinjeargumenter selv.
Men nå, innenfor hver iterasjon av at loop, trenger jeg å nå iterere over hver
av tegn eller tegn i et bestemt streng.
Så for å gjøre det, trenger jeg en mer loop.
>> La oss legge til at.
for int, la oss kalle det j, er lik 0.
Nå kommer jeg til å trenge å integrere opp til lengden av
aktuelle strengen i ARGV.
Så la meg gi meg en annen lokal variable, vil vi kalle det n, og angi
som er lik lengden av strengen gjeldende argument, som kommer til å være
funnet i ARGV brakett jeg semikolon.
>> La meg nå iterere fra j opp inntil n etterfulgt av en
øke på hver iterasjon.
La oss nå skrive den enkelte tegn på skjermen.
Printf% c denne gang etterfulgt av en ny linjen, nær sitat, komma, og nå har jeg
trenger den j-te karakter i i-te argument.
>> Så for å få på det, kan jeg rett og slett spesifisere ARV brakett jeg å
får i-te argument.
Og så kan jeg dykke i ett nivå dypere og gjøre en sekundær indeks over
brakett j, sluttparentes, semikolon, spar.
Og la oss nå samle og kjøre dette programmet.
>> Gjør ARGV2 -
ikke helt hva jeg hadde ventet.
La oss bla opp til den første av disse feilmeldingene.
Og i rødt her, ser vi feil, implisitt erklære bibliotek funksjon
strlen med type -
oh, vent litt.
Dette er første gang jeg har brukt strlen, og jeg ikke hadde forutsett
som ønsker det i starten, så jeg ikke inkluderte topptekstfilen som erklærer
en streng lengde funksjon.
>> Så på toppen av filen min, tilbakekalling, har jeg CS50.h.
Jeg har standard io.h.
Men det viser seg, og jeg vet dette fra lese dokumentasjonen, at jeg trenger
en tredje header-fil hvis jeg, ja, ønsker å bruke strlen-funksjonen.
At funksjonen er erklært i string.h.
>> La oss lagre filen på nytt, kompilere og kjøre.
Og denne gangen, gjør vi ikke bare se hver av argumentene.
Vi i stedet se hver av argumentene ett tegn om gangen.