>> DAVID J. MALAN: Lad os tage tingene et skridt videre, nu.
Antag, at jeg ikke bare vil at udskrive alle mine programmets
kommandolinjeargumenter.
Men jeg i stedet ønsker at udskrive alle enkelte tegn i hver af
min kommandolinje argumenter, én pr linje, så at ved at køre dette
program, jeg simpelthen se en strøm på tegn på skærmen,
kollektivt er fra min sekvens af kommandolinjeargumenter.
>> Nå, hvordan kan jeg gøre dette?
Jeg kan holde intakt min bue fra før hvorved jeg iterative fra i op til
Argc for at integrere over kommandolinjeargumenter selv.
Men nu, inden for hver iteration af det loop, jeg har brug for nu gentage over hver
af de tegn eller tegn i en bestemt streng.
Så for at gøre det, jeg har brug for en mere løkke.
>> Lad os tilføje, at.
til int, lad os kalde det j, lig 0.
Nu vil jeg få brug for at integrere indtil længden af
aktuelle streng i ARGV.
Så lad mig give mig en anden lokal variabel, vi kalder det n, og sæt
der svarer til strengen længden af nuværende argument, som vil være
findes i ARGV beslag jeg semikolon.
>> Lad mig nu gentage fra j op indtil n efterfulgt af en
tilvækst på hver iteration.
Lad os nu udskrive den enkelte Tegnene på skærmen.
Printf% c denne gang efterfulgt af en ny linje tæt citat, komma, og nu har jeg
brug for j-th karakter i den i'te argument.
>> Så for at komme på det, kan jeg simpelthen specificere ARV beslag i til
få det i'te argument.
Og så kan jeg dykke i et niveau dybere og gøre en sekundær indeks
beslag j tæt parentes, semikolon, Gem.
Og lad os nu kompilere og køre dette program.
>> Make ARGV2 -
ikke helt, hvad jeg havde forventet.
Lad os rulle op til den første af disse fejlmeddelelser.
Og i rødt her, ser vi fejl, implicit erklære biblioteksfunktionen
strlen med type -
åh, vent et øjeblik.
Det er første gang, jeg har brugt strlen, og jeg ikke foregribe
ønsker det i første omgang, så jeg ikke omfatte header fil, der erklærer
en streng længde funktion.
>> Så på toppen af ​​min fil, tilbagekaldelse, jeg har CS50.h.
Jeg har standard io.h.
Men det viser sig, og jeg kender det fra læse dokumentationen, at jeg har brug for
en tredje header fil, hvis jeg, ja, ønsker at bruge strlen funktionen.
Denne funktion er erklæret i string.h.
>> Lad os gem filen, kompilere og køre.
Og denne gang, gør vi ikke bare se hver af argumenterne.
Vi i stedet se hver enkelt af de argumenter, et tegn ad gangen.