[Powered by Google Translate] [Command-Line Viðföng] [Christopher Bartholomew - Harvard University] [Þetta er CS50 - CS50.TV] A gagnlegur lögun fyrir a program er að samþykkja notandi inntak. Svo langt, höfum við kannað nokkrar aðgerðir innan CS50 bókasafn að samþykkja notandi inntak, eins og "að fá band," sem hvetja notandann, á meðan umsókn er í gangi, að streng. Hins vegar eru tilvik þar sem þú vilt að veita program inntak þinn áður en það er í raun í gangi. This vegur, þú þarft ekki að biðja frekari upplýsingar frá notanda þinni meðan framkvæmd einfalda verkefni. Taka, til dæmis, MV eða færa stjórn í UNIX. Þessi skipun gerir notandanum kleift að færa skrá frá einum stað til annars. Samkvæmt handbók síður, MV tekur tvær stjórn lína rifrildi: skrána sem verið er að flytja og staðsetningu skrá er flutt. Þannig hefur þetta dæmi skipun með tveimur rök. Svo hvernig segja við C kerfi okkar til að nýta þessar stjórn-lína rök? Jæja, kemur í ljós að helstu, sem við notum í öllum C forrit, hefur leyndarmál. Main tekur tvær breytur: argc og argv. Við skulum fara yfir þessi hugtök. Fyrsta breytu, argc, sem stendur fyrir fjölda rifrildi, hefur gögn tegund heil tala. The argc breytu inniheldur fjölda rökum, þar á meðal stjórn. Í stjórn hreyfingu, þótt við aðeins hafa tvær rök sýna, gildi argc verður 3. Annað breytu, argv, sem stendur fyrir vektor rifrildi, er fylki á bleikju ábendingum sem benda á strengi. Þetta þýðir að hver þáttur í argv, frá núlli, inniheldur skipunina og röksemdir. Til dæmis, argv [0], sem ég vísa til sem argv núll, mun alltaf vera stjórn sem verið er að keyra - í þessu tilfelli, MV. argv [1] mun innihalda fyrsta rifrildi, file.txt, og argv [2] mun innihalda seinni rök, ~ / cs50 /. Síðustu rök argv mun alltaf vera null. Svo skulum koma þessum stjórn-lína rök. Í fyrri æfingar, sett við tóm, þýðir að ekkert, sem breytu aðal. En í röð fyrir okkur til að nota stjórn-lína rök, við þurfum að fjarlægja ógilt og stað inni í helstu int argc, char * argv []. Nú, til að fá aðgang að öllum þáttur frá argv, sem eru rök þín, þú getur einfaldlega iterate eða lykkja í gegnum array svona. Svo inni í líkama aðal, þá ætlum við að fara á undan og slá a for lykkju: fyrir (INT i = 0, i . Svo, við skulum taka saman og hlaupa og gefa það í raun rök. Og, eins og við getum séð, höfum við nú nákvæma staðsetningu hvers bleikju í rifrildi. Svo er það það. Ég er Christopher Bartholomew, þetta er CS50. [CS50.TV]