>> DAVID J. Malan: Le të bëjmë gjëra të një hap më tej, tani.
Le të supozojmë se unë nuk duan vetëm për të shtypur të gjitha program sime
argumente të komandës.
Por unë, në vend të kësaj, duan të shtypura të gjitha karaktere individuale në secilën prej
argumentat e mia command line, një për line, kështu që në drejtimin ky
program, unë thjesht shoh një rrymë e karaktere në ekran që
kolektivisht janë nga sekuencat e mia e argumenteve të linjës komanduese.
>> E pra, si mund ta bëni këtë?
Unë mund të mbani të paprekur loop ime nga prania ku unë përsëritës nga i deri
ARGC në mënyrë që të integrohen mbi vetë argumente command line.
Por tani, në çdo përsëritje e që loop, kam nevojë për të tani iterate mbi njëri
nga personazhet apo chars në një varg të caktuar.
Pra, për të bërë këtë, kam nevojë për një lak më shumë.
>> Le të shtoj se.
për int, le të thërrasë atë j, është e barabartë me 0.
Tani unë jam duke shkuar për të duhet të integrojë deri në gjatësinë e
string aktuale në ARGV.
Pra më lejoni të jap vetes një tjetër lokal variabël, ne do të thërrasë atë n, dhe vendosur
që të barabartë me gjatësinë e vargut te argumenti aktuale, e cila do të jenë
gjetur në ARGV grupim i pikëpresje.
>> Më lejoni tani iterate nga j lart deri sa të ndjekur n nga një
Rritja në çdo përsëritje.
Le tani të shtypur individin karaktere në ekran.
Printf% c këtë herë e ndjekur nga një e re line, të japin kuotën e ngushtë, me presje, dhe tani unë
duhet karakterin j-të në argumentin i-th.
>> Pra, për të marrë në këtë, unë mund të thjesht specifikoni ARV parantezë i të
marrë argumenti i-th.
Dhe atëherë unë mund të zhyten në një nivel më të thellë dhe të bëjë një indeks të mesme të
j kllapa, kllapë të ngushtë, pikëpresje, Save.
Dhe tani le të përpilojnë dhe të drejtuar këtë program.
>> Bëni ARGV2 -
jo krejt ajo që unë prisja.
Le të shkoni deri në parë nga këto mesazhet e gabimit.
Dhe në të kuqe këtu, ne shohim gabim, implicite deklaruar Funksioni Biblioteka
strlen me lloj -
oh, prit një minutë.
Kjo është hera e parë që unë e kam përdorur strlen, dhe unë nuk e parashikojnë
duan atë në fillim, kështu që unë nuk e përfshijnë header fotografi që deklaron
një gjatësi funksion varg.
>> Pra, në krye të dosjes sime, kujtojnë, kam CS50.h.
Unë kam io.h. standarde
Por kjo rezulton, dhe unë e di këtë nga lexuar dokumentacionin, që kam nevojë
një header fotografi të tretë në qoftë se unë, me të vërtetë, dëshironi të përdorni funksionin strlen.
Ky funksion është deklaruar në string.
>> Le të resave file, përpilojnë dhe të drejtuar.
Dhe këtë herë, ne bëjmë jo vetëm shohin njëri prej argumenteve.
Ne në vend që të shohin njëri nga argumentet një karakter në një kohë.