>> David J. MALAN: Kom ons neem dinge 'n stap verder, nou.
Veronderstel dat ek net nie wil al my program se te druk
command line argumente.
Maar ek, in plaas daarvan, wil almal van die te druk individuele karakters in elk van
my command line argumente, een per lyn, sodat op die loop van hierdie
program, sien ek net 'n stroom van karakters op die skerm wat
gesamentlik is uit my volgorde van command line argumente.
>> Wel, hoe kan ek dit doen?
Ek kan hou ongeskonde my lus voor waardeur ek iteratiewe van i tot
ARGC om te integreer oor die command line argumente self.
Maar nou, in elke iterasie van daardie lus, ek moet nou Itereer oor elke
van die karakters of karakters in 'n spesifieke string.
So om dit te doen, moet ek nog 'n lus.
>> Kom ons byvoeg dat.
vir int, kom ons noem dit j, is gelyk aan 0.
Nou gaan ek nodig het om te integreer tot die lengte van die
huidige string in bevat SPASIES.
So laat my gee myself 'n ander plaaslike veranderlike, sal ons dit noem n, en stel
wat gelyk is aan die lengte van die string huidige argument, wat gaan wees
gevind in hakies bevat SPASIES i kommapunt.
>> Laat my nou Itereer van J up totdat n gevolg deur 'n
inkrementeer op elke iterasie.
Kom ons nou druk die individu karakters op die skerm.
Printf% c hierdie tyd, gevolg deur 'n nuwe lyn, naby quote, komma, en nou is ek
nodig het om die j-de karakter in die i-de argument.
>> So te kry op daardie, ek kan eenvoudig spesifiseer ARV bracket ek te
kry die i-de argument.
En dan het ek kan duik in een vlak dieper en doen 'n sekondêre indeks van
bracket j, naby hakies, kommapunt, Save.
En laat ons nou saam te stel en hierdie program.
>> Maak ARGV2 -
nie heeltemal wat ek verwag het.
Kom ons blaai na die eerste van hierdie fout boodskappe.
En hier rooi, sien ons foute, onvoorwaardelik verklaar biblioteek funksie
strlen met tipe -
O, wag 'n minuut.
Dit is die eerste keer wat ek gebruik StrLen, en ek het nie verwag dat
wil dit op die eerste, so ek het nie ' die kop lêer wat verklaar
'n string lengte funksie.
>> So aan die bokant van my lêer, Onthou, ek het CS50.h.
Ek het die standaard io.h.
Maar dit blyk uit, en ek weet dit uit die lees van die dokumentasie, wat ek nodig het
'n derde kop lêer as ek, ja, wil die StrLen funksie te gebruik.
Dit funksie is string.h verklaar.
>> Kom ons weer stoor die lêer, stel, en hardloop.
En hierdie keer, doen ons nie net sien elkeen van die argumente.
Ons plaas sien elkeen van die argumente een karakter op 'n tyd.