>> DAVID J. Malan: Laten we dingen een stap verder, nu.
Stel dat ik niet alleen maar willen al mijn programma afdrukken
command line argumenten.
Maar ik, in plaats daarvan, willen al het afdrukken afzonderlijke tekens in elk van
mijn commandoregel argumenten, een per lijn, zodat bij het uitvoeren van dit
programma, ik zie gewoon een stroom van tekens op het scherm dat
collectief zijn van mijn sequence van command line argumenten.
>> Nou ja, hoe kan ik dit doen?
Ik kan intact mijn lus van voor waarbij ik iteratieve van i tot
ARGC om te integreren in de command line argumenten zelf.
Maar nu, binnen elke herhaling van dat loop, moet ik nu itereren over elk
van de tekens of chars in een bepaalde tekenreeks.
Dus om dat te doen, ik moet nog een lus.
>> Laten we toevoegen dat.
voor int, noem het j, gelijk is aan 0.
Nu ga ik moeten integreren tot de lengte van de
huidige tekenreeks in ARGV.
Dus ik geef mezelf een andere lokale variabele, zullen we het n noemen, en stel
die gelijk is aan de lengte van de tekenreeks huidige argument, dat zal worden
gevonden in ARGV beugel i puntkomma.
>> Laat ik nu herhalen van j up tot n gevolgd door een
increment op elke iteratie.
Laten we nu het individu af te drukken tekens op het scherm.
Printf% c ditmaal gevolgd door een nieuw lijn, dicht citaat, komma, en nu heb ik
moet de j-de karakter in de i-de argument.
>> Dus op dat te krijgen, kan ik gewoon specificeren ARV beugel i te
krijgen de i-de argument.
En dan kan ik duiken in een niveau dieper en doe een secundaire index van
beugel j, haakje sluiten, puntkomma, Opslaan.
En laten we nu samen te stellen en Dit programma starten.
>> Maak ARGV2 -
niet helemaal wat ik had verwacht.
Laten we omhoog naar de eerste van deze foutmeldingen.
En hier rood, zien we fout, impliciet verklaren bibliotheekfunctie
strlen met type -
oh, wacht even.
Dit is de eerste keer dat ik heb gebruikt strlen, en ik wilde niet vooruitlopen
willen het op het eerste, dus ik heb niet bevatten de header-bestand dat verklaart
een string lengte functie.
>> Dus op de top van mijn dossier, recall, ik heb CS50.h.
Ik heb standaard io.h.
Maar het blijkt, en ik weet dat dit uit het lezen van de documentatie, die ik nodig heb
een derde header-bestand als ik, inderdaad, willen de strlen functie te gebruiken.
Die functie wordt gedeclareerd in string.h.
>> Laten we het bestand opslaan, compileren en uit te voeren.
En deze keer, we doen niet alleen zie elk van de argumenten.
We zien elkaar in plaats van de argumenten een karakter per keer.