[Powered by Google Translate] [Käsurea argumendid] [Christopher Bartholomew - Harvardi Ülikool] [See on CS50 - CS50.TV] Kasulik funktsioon on programmi kasutaja andmeid sisestada. Siiani oleme vaadelnud mõningaid funktsioone CS50 raamatukogu saaks kasutaja andmeid sisestada, näiteks "saada stringi" mis küsib kasutaja, kui rakendus töötab, sest string. Siiski esineb juhtumeid, kus soovite anda oma programmi sisend enne kui see tegelikult töötab. Nii, sa ei pea küsima lisainformatsiooni oma kasutajanime samas täidesaatev lihtne ülesanne. Võtame näiteks, mv või liigub käsk UNIX. See käsk võimaldab kasutajal liikuda faili ühest kohast teise. Vastavalt manuaal lehti, mv võtab kaks käsurea argumente: faili on liigutatud ja asukoht fail on kolinud. Nii et see näide on käsu kaks argumenti. Niisiis, kuidas me ütleme meie C programmi kasutada neid käsurea argumendid? Noh, tuleb välja, et peamine, mis me kasutame kõiki C programme, on saladus. Peamised võtab kaks parameetrit: argc ja argv. Lähme üle nende tingimustega. Esimene parameeter, argc, mis tähistab argument loota, on andmete tüüpi täisarv. Argc parameeter sisaldab mitmeid argumente, sealhulgas oskus. Meie move käsu, kuigi meil on ainult kaks argumenti kuvata, argc väärtus saab olema 3. Teine parameeter, argv, mis tähistab argument vektor, on array char vihjeid, mis viitavad stringid. See tähendab, et iga element argv, alates nullist, sisaldab käsku ja argumente. Näiteks argv [0], mis ma viidata kui argv null, sisaldab alati käsk, kus peal töötab - sel juhul MV. argv [1] peab sisaldama esimene argument, fail.txt, ja argv [2] sisaldab teist argumenti, ~ / cs50 /. Viimane argument argv on alati null. Nii et olgem rakendada neid käsurea argumente. Varasematel harjutusi, panime tühine, mis tähendab midagi, kui peamine parameetri. Kuid selleks, et me kasutame käsurea argumendid, peame kõrvaldama tühine ja koht sees peamine int argc, char * argv []. Nüüd juurdepääsu kogu elemendi argv, mis on oma argumendid, siis saad lihtsalt kinnitada, või silmus, läbi massiivi niimoodi. Niisiis, sees peamine keha, me ei kavatse minna ja kirjuta jaoks silmus: jaoks (int i = 0; i . Niisiis, oletame, kompileerida ja käivitada ning anda see tegelik argument. Ja nagu näeme, on meil nüüd täpset asukohta iga char argument. Nii ongi. Ma olen Christopher Bartolomeus, see on CS50. [CS50.TV]