[Powered by Google Translate] [Command-Line Dadleuon] [Christopher Bartholomew - Harvard University] [Mae hyn yn CS50 - CS50.TV] Nodwedd ddefnyddiol ar gyfer rhaglen yw derbyn mewnbwn defnyddwyr. Hyd yn hyn, rydym wedi archwilio rhai swyddogaethau o fewn y llyfrgell CS50 i dderbyn, mewnbwn defnyddwyr, megis "cael llinyn," sy'n annog y defnyddiwr, tra bod y cais yn cael ei rhedeg, ar gyfer llinyn. Fodd bynnag, mae yna achosion lle rydych am roi eich mewnbwn rhaglen cyn iddo gael ei redeg mewn gwirionedd. Fel hyn, nid oes angen i chi ofyn i wybodaeth ychwanegol oddi wrth eich defnyddiwr wrth weithredu tasg syml. Cymerwch, er enghraifft, y mv neu orchymyn symud yn UNIX. Mae'r gorchymyn yn caniatáu i'r defnyddiwr i symud ffeil o un lleoliad i'r llall. Yn ôl i'r tudalennau â llaw, mv yn derbyn dwy ddadl llinell orchymyn: y ffeil sy'n cael ei symud ac y lleoliad y ffeil yn cael ei symud i. Felly, yr enghraifft hon gorchymyn gyda dau dadleuon. Felly, sut rydym yn dweud wrth ein C rhaglen i ddefnyddio dadleuon hyn gorchymyn-lein? Wel, mae'n troi allan y prif, yr ydym yn eu defnyddio yn yr holl raglenni C, yn cadw cyfrinach. Main yn derbyn dau baramedr: argc a argv. Gadewch i ni fynd dros y telerau hyn. Y paramedr cyntaf, argc, sy'n sefyll ar gyfer cyfrif ddadl, Mae math data cyfanrif. Mae'r paramedr argc cynnwys y nifer o ddadleuon, gan gynnwys y gorchymyn. Yn ein gorchymyn symud, er ein bod wedi dim ond dwy ddadl harddangos, Bydd argc yn werth fod yn 3. Yr ail baramedr, argv, sy'n sefyll am fector ddadl, llu o awgrymiadau torgoch sy'n cyfeirio at llinynnau. Mae hyn yn golygu bod pob elfen yn argv, gan ddechrau o sero, yn cynnwys y gorchymyn a dadleuon. Er enghraifft, argv [0], y byddaf yn cyfeirio ato fel argv sero, Bydd bob amser gynnwys y gorchymyn sy'n cael ei rhedeg - yn yr achos hwn, mv. argv [1] yn cynnwys y ddadl gyntaf, file.txt, a argv [2] bydd yn cynnwys yr ail ddadl, ~ / cs50 /. Bydd y ddadl olaf argv bob amser yn null. Felly, gadewch i ni weithredu'r dadleuon gorchymyn-lein. Mewn ymarferion blaenorol, rydym yn gosod ddi-rym, sy'n golygu dim byd, fel y brif paramedr. Fodd bynnag, er mwyn i ni ddefnyddio gorchymyn-lein dadleuon, angen i ni symud ddi-rym a digwydd y tu mewn o brif int argc, cols * argv []. Nawr, er mwyn cael mynediad i'r elfen cyfan o argv, sy'n eich dadleuon, gallwch ailadrodd, neu ddolen, trwy'r amrywiaeth fel hyn. Felly, y tu mewn prif corff, rydym yn mynd i fynd yn ei flaen a theipiwch am ddolen: ar gyfer (i int = 0; ff . Felly, gadewch i ni lunio a rhedeg ac yn ei darparu dadl go iawn. Ac, fel y gallwn weld, mae gennym bellach union leoliad pob torgoch unigol yn y ddadl. Felly dyna ni. Rwy'n Christopher Bartholomew, mae hyn yn CS50. [CS50.TV]