>> DAVID J. MALAN: Lassen Sie uns die Dinge einen Schritt weiter, jetzt.
Nehmen wir an, ich will nicht nur alle meine Programm drucken
Befehlszeilenargumente.
Aber ich, sondern alle die drucken möchten einzelne Zeichen in jedem der
meine Kommandozeilen-Argumente, eine pro Linie, so dass bei der Ausführung dieses
Programm, habe ich einfach sehen, einen Strom von Zeichen auf dem Bildschirm, dass
gemeinsam sind von meiner Sequenz Befehlszeilenargumente.
>> Nun, wie kann ich dies tun?
Ich kann meine intakte Schleife von vor halten wobei ich iterativ von i bis
ARGC, um über die Integration Befehlszeilenargumente sich.
Aber jetzt, in jeder Iteration, dass Schleife, muss ich jetzt über jeden laufen
der Zeichen oder Zeichen in einer bestimmten Zeichenfolge.
So, das zu tun, brauche ich eine weitere Schleife.
>> Fügen wir, dass.
für int, nennen wir es j, gleich 0 ist.
Jetzt werde ich brauchen, um die Integration bis die Länge der
aktuellen Zeichenfolge in ARGV.
So möchte ich mich ein anderes lokales geben Variable, werden wir es n nennen, und stellen Sie
, die gleich der Länge der Zeichenfolge Strom Argument, die gehen, um sein
in ARGV Halterung fand ich Semikolon.
>> Lassen Sie mich nun von j bis laufen bis n durch eine anschließend
Inkrementieren jeder Iteration.
Lassen Sie uns nun die einzelnen Druck Zeichen auf dem Bildschirm.
Durch eine neue printf% c diesmal gefolgt Zeile, in der Nähe Zitat, Komma, und jetzt habe ich
brauchen die j-te Zeichen in dem i-ten Argument.
>> Also auf das zu bekommen, kann ich einfach angeben ARV Halterung i
erhalten die i-te Argument.
Und dann kann ich in eine Ebene tiefer tauchen und machen Sie einen Sekundärindex
Halterung j, schließende Klammer, Semikolon, Speichern.
Und lassen Sie uns jetzt kompilieren und führen Sie dieses Programm.
>> Machen ARGV2 -
nicht ganz das, was ich erwartet hatte.
Lassen Sie uns nach oben auf die erste dieser Fehlermeldungen.
Und hier in rot, sehen wir Fehler, implizit erklärt Bibliotheksfunktion
strlen mit Typ -
oh, warten Sie eine Minute.
Dies ist das erste Mal, das ich verwendet habe strlen, und ich habe nicht davon aus,
wollen es auf den ersten, so dass ich nicht gehören die Header-Datei, die erklärt,
ein String-Länge-Funktion.
>> So an der Spitze meiner Datei Rückruf, ich habe CS50.h.
Ich habe Standard io.h.
Aber es stellt sich heraus, und ich weiß das aus Lesen Sie in der Dokumentation, dass ich
eine dritte Header-Datei, wenn ich in der Tat, wollen die strlen-Funktion verwenden.
Diese Funktion wird in string.h erklärt.
>> Lassen speichern Sie die Datei, kompilieren und ausführen.
Und dieses Mal haben wir nicht nur sehen jedes der Argumente.
Wir sehen, statt jedes der Argumente ein Zeichen zu einem Zeitpunkt.