>> DAVID J. Malan: Ni prenu tion unu paŝon pli, nun.
Supozu, ke mi ne volas nur presi cxiujn el mia programo
komandlinia argumentoj.
Sed mi, male, volas presi ĉiujn individuajn karakterojn en ĉiu el
mia komandlinia argumentojn, unu po linio, por ke sur kuranta ĉi
programon, mi simple vidas torenton da signoj sur la ekrano, kiu
kolektive estas mia vico de komanda linio argumentoj.
>> Nu, kiel mi povas fari ĉi tion?
Mi povas subteni nerompita mia buklo de antaux per kiu mi Ripeta de i supren ĝis
ARGC celo integri super la komandlinia argumentoj sin.
Sed nun, ene de ĉiu ripeto de tiu buklo, mi bezonas nun persisti super ĉiu
de la karakteroj aŭ signoj en specifa ŝnuro.
Do fari tion, mi bezonas unu pli buklo.
>> Ni aldonu, ke.
por int, ni nomas ĝin j, egalas 0.
Nun mi iros kaj bezonas por integri supren ĝis la longo de la
Nuna kordo en argv.
Do lasu min doni min alia loka variablo, ni nomas ĝin n, kaj starigis
ke egalas la korda longeco de la Nuna argumento, kiu tuj estos
trovita en argv krampo i punktokomo.
>> Lasu min nun persisti el la j supren ĝis n sekvata de
pliigo je ĉiu ripeto.
Ni nun presi la individuo signoj sur la ekrano.
Printf% c ĉi tempo sekvata de nova linio, proksime citaĵo, komo, kaj nun mi
bezonas la j-a karaktero en la i-a argumento.
>> Do por atingi tion, mi povas simple specifi ARV krampo i al
akiri la i-a argumento.
Kaj tiam mi povas plonĝi en unu nivelo pli profunda kaj faru sekundara indekso de
krampo j, proksime parentezo, punktokomo, Save.
Kaj ni nun kompili kaj kuros ĉi programo.
>> Faru ARGV2 -
Ne tute kion mi ekspektis.
Ni rulumu supren al la unua de tiuj erarmesaĝojn.
Kaj en ruĝa tie, oni vidas eraron, implice deklarante biblioteko funkcio
strlen kun tipo -
oh, atendu momenton.
Tiu estas la unua fojo mi uzis strlen, kaj mi ne anticipis
voli ĝin je la komenco, do mi ne inkluzivas la kaplinio dosiero kiu deklaras
ŝnureto longo funkcio.
>> Do, je la supro de mia dosiero: Memoru, mi havas CS50.h.
Mi havas norma io.h.
Sed rezultas, kaj mi scias, ke ĉi tio legi la dokumentadon, ke mi bezonas
trionon kaplinio dosieron, se mi efektive volas uzi la strlen funkcio.
Tio funkcio estas deklarita en string.h.
>> Ni resave la dosiero, kompili, kaj kuros.
Kaj cxi tiu tempo, ni ne nur revidos unu el la argumentoj.
Ni anstataŭ vidi ĉiun de la argumentoj unu karaktero samtempe.