1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [Ordú-Líne Argóintí] 2 00:00:02,000 --> 00:00:04,000 [Christopher Bartholomew - Ollscoil Harvard] 3 00:00:04,000 --> 00:00:07,000 [Is é seo an CS50 - CS50.TV] 4 00:00:07,000 --> 00:00:11,000 Gné úsáideach le haghaidh clár chun glacadh le hionchur úsáideora. 5 00:00:11,000 --> 00:00:15,000 Go dtí seo, tá muid iniúchadh ar roinnt feidhmeanna laistigh den leabharlann CS50 6 00:00:15,000 --> 00:00:18,000 glacadh le hionchur úsáideora, mar shampla "a fháil téad," 7 00:00:18,000 --> 00:00:23,000 a spreagann an t-úsáideoir, cé go bhfuil an t-iarratas ag rith, ar teaghrán. 8 00:00:23,000 --> 00:00:28,000 >> Mar sin féin, tá cásanna ann nuair is mian leat a chur ar fáil d'ionchur clár 9 00:00:28,000 --> 00:00:30,000 sula ag rith sé i ndáiríre. 10 00:00:30,000 --> 00:00:34,000 Sa tslí seo, ní gá duit a iarraidh faisnéis bhreise ó do úsáideora 11 00:00:34,000 --> 00:00:38,000 fad is tasc simplí. 12 00:00:38,000 --> 00:00:42,000 Tóg, mar shampla, an mv nó ordú bogadh i UNIX. 13 00:00:42,000 --> 00:00:49,000 Ceadaíonn an ordú an t-úsáideoir a bhogadh comhad ó áit amháin go ceann eile. 14 00:00:49,000 --> 00:00:55,000 Dar leis an leathanaigh lámhleabhar, glacann mv dhá argóintí: 15 00:00:55,000 --> 00:01:00,000 an comhad a á n-aistriú agus an suíomh an comhad á n-aistriú go. 16 00:01:00,000 --> 00:01:06,000 Mar sin, tá an sampla a ordú le dhá argóintí. 17 00:01:06,000 --> 00:01:14,000 Mar sin, conas is féidir linn a insint ár gcuid C gclár úsáid a bhaint as na hargóintí orduithe-líne? 18 00:01:14,000 --> 00:01:20,000 >> Bhuel, casadh sé amach go bhfuil is mó, a úsáid againn i ngach clár C, a rún. 19 00:01:20,000 --> 00:01:26,000 Main Glacann dhá paraiméadair: argc agus argv. 20 00:01:26,000 --> 00:01:28,000 A ligean ar dul thar na téarmaí seo. 21 00:01:28,000 --> 00:01:33,000 >> An paraiméadar chéad, argc, a sheasann do líon argóint, 22 00:01:33,000 --> 00:01:36,000 Tá cineál sonraí slánuimhir. 23 00:01:36,000 --> 00:01:42,000 Tá paraiméadar argc líon na n-argóintí, lena n-áirítear an t-ordú. 24 00:01:42,000 --> 00:01:47,000 I ár n-ordú bogadh, cé go againn ach tá dhá argóint ar taispeáint, 25 00:01:47,000 --> 00:01:50,000 Beidh luach argc ar 3. 26 00:01:50,000 --> 00:01:56,000 An paraiméadar dara argv, a sheasann do veicteoir argóint, 27 00:01:56,000 --> 00:02:01,000 Tá sraith de leideanna ruabhric go pointe teaghráin. 28 00:02:01,000 --> 00:02:06,000 >> Ciallaíonn sé seo go gach eilimint i argv, ag tosú ó nialas, 29 00:02:06,000 --> 00:02:09,000 tá ceannas agus argóintí. 30 00:02:09,000 --> 00:02:16,000 Mar shampla, argv [0], a beidh mé tagairt a dhéanamh mar argv náid, 31 00:02:16,000 --> 00:02:20,000 Beidh go bhfuil i gcónaí an t-ordú atá á reáchtáil - 32 00:02:20,000 --> 00:02:22,000 sa chás seo, mv. 33 00:02:22,000 --> 00:02:28,000 argv [1] go bhfuil an argóint, ar an gcéad file.txt, 34 00:02:28,000 --> 00:02:37,000 agus argv [2] a bheidh ann an argóint dara, ~ / cs50 /. 35 00:02:37,000 --> 00:02:42,000 Beidh an argóint deiridh de argv i gcónaí a bheith ar neamhní. 36 00:02:42,000 --> 00:02:46,000 Mar sin a ligean i bhfeidhm ar na hargóintí orduithe-líne. 37 00:02:46,000 --> 00:02:53,000 I cleachtaí roimhe seo, chuireamar ar neamhní, rud a chiallaíonn rud ar bith, mar paraiméadar an phríomhchonraitheora. 38 00:02:53,000 --> 00:02:57,000 Mar sin féin, d'fhonn dúinn chun úsáid a bhaint as ordú-líne argóintí, 39 00:02:57,000 --> 00:03:12,000 ní mór dúinn a bhaint neamhní agus ar siúl taobh istigh de phríomh-slánuimhir argc, ruabhric * argv []. 40 00:03:12,000 --> 00:03:17,000 Anois, rochtain a fháil ar an ghné ar fad ó argv, a bhfuil do argóintí, 41 00:03:17,000 --> 00:03:21,000 is féidir leat abair leo go simplí, nó lúb, tríd an eagar mar seo. 42 00:03:21,000 --> 00:03:27,000 Mar sin, taobh istigh de chuid an chomhlachta phríomhchonraitheora, táimid ag dul chun dul ar aghaidh agus cineál le haghaidh lúb: 43 00:03:27,000 --> 00:03:37,000 do (slánuimhir i = 0; i 00:03:41,000 >> Ní gá dúinn a brace curly anseo toisc go bhfuil muid ag forghníomhaitheach ach líne amháin de chód 45 00:03:41,000 --> 00:03:44,000 laistigh den chomhlacht an lúb. 46 00:03:44,000 --> 00:03:47,000 Beidh muid dul ar aghaidh agus tab bhuail aon uair amháin, 47 00:03:47,000 --> 00:03:57,000 ansin cineál printf ("argv [% d], chun ionadaíocht a dhéanamh ar luach slánuimhir, 48 00:03:57,000 --> 00:04:06,000 Is é% s, do téad, ansin an carachtar líne nua. 49 00:04:06,000 --> 00:04:12,000 Ansin a chuirimid ar fáil printf i do leagan reatha na lúibe 50 00:04:12,000 --> 00:04:18,000 agus argv [i] le haghaidh ionadaíochta teaghrán an argóint atá ann faoi láthair ordú-líne. 51 00:04:18,000 --> 00:04:25,000 Nuair a rith sé le dhá argóint, beidh orainn a fheiceáil ar na hargóintí a bheith ar taispeáint i gcríochfort. 52 00:04:34,000 --> 00:04:38,000 Níos luaithe dúirt muid go raibh an argv le sraith de leideanna ruabhreac. 53 00:04:38,000 --> 00:04:45,000 >> Mar sin, má tá sé seo an cás, conas is féidir linn rochtain a fháil ansin carachtair aonair i ngach argóint? 54 00:04:45,000 --> 00:04:51,000 Mar shampla, cad má bhí mé a chuardach le haghaidh cháilíocht shonrach sa chéad argóint? 55 00:04:51,000 --> 00:04:55,000 Bhuel, is é an freagra gur gá dúinn a chur i bhfeidhm lúb neadaithe 56 00:04:55,000 --> 00:04:59,000 a iterate ansin trí gach ceann de na gnéithe ar an argóint. 57 00:04:59,000 --> 00:05:02,000 Tá sé seo conas a dhéanann tú é. 58 00:05:02,000 --> 00:05:10,000 >> Gcéad dul síos, tá muid ag dul a dhéanamh cóip den example2.c. 59 00:05:10,000 --> 00:05:13,000 Ansin, taobh istigh de na chéad lúb, 60 00:05:13,000 --> 00:05:15,000 táimid ag dul a chur ar breise le haghaidh lúb. 61 00:05:15,000 --> 00:05:28,000 Mar sin, le haghaidh (slánuimhir j = 0, n = strlen (argv [i]), 62 00:05:28,000 --> 00:05:32,000 a thugann ansin dúinn fad an argóint atá ann faoi láthair, 63 00:05:32,000 --> 00:05:39,000 = J 00:05:43,000 Táimid ag dul i gcló suíomh gach carachtar 65 00:05:43,000 --> 00:05:47,000 taobh istigh den argóint atá ann faoi láthair trí úsáid a bhaint printf. 66 00:05:47,000 --> 00:05:57,000 Mar sin, printf ("argv [% d], chun ionadaíocht a dhéanamh an t-innéacs ar an argóint atá ann faoi láthair, 67 00:05:57,000 --> 00:06:05,000 ansin [% d] arís, chun ionadaíocht a dhéanamh ar charachtar reatha an argóint atá ann faoi láthair, 68 00:06:05,000 --> 00:06:13,000 is é sin: c%, le haghaidh an carachtar atá ann faoi láthair san argóint. 69 00:06:13,000 --> 00:06:20,000 Ar deireadh, a chuirimid ar fáil printf leis an t-innéacs na lúibe seachtrach, i, 70 00:06:20,000 --> 00:06:22,000 ansin an t-innéacs ar an lúb istigh. 71 00:06:22,000 --> 00:06:28,000 >> Agus ár argóint deiridh a printf an carachtar iarbhír as an argóint ar fáil 72 00:06:28,000 --> 00:06:31,000 ag an líne orduithe. 73 00:06:31,000 --> 00:06:37,000 Anois, mar gheall ar úsáid mé an strlen feidhm teaghrán a fháil ar an fad téad, 74 00:06:37,000 --> 00:06:43,000 Ní mór liom a chur freisin ar an leabharlann string.h go dtí an barr ar ár n-áirítear. 75 00:06:43,000 --> 00:06:50,000 Mar sin, chun é sin a dhéanamh, beidh muid ag dul suas, agus díreach faoi stdio.h, táimid ag dul a dhéanamh 76 00:06:50,000 --> 00:06:57,000 # I measc . 77 00:06:57,000 --> 00:07:02,000 >> Mar sin, a ligean ar a thiomsú agus a reáchtáil agus a chur ar fáil argóint iarbhír é. 78 00:07:09,000 --> 00:07:18,000 >> Agus, mar is féidir linn a fheiceáil, ní mór dúinn anois ar an suíomh beacht gach ruabhric aonair san argóint. 79 00:07:18,000 --> 00:07:23,000 Mar sin tá go bhfuil sé. Tá mé Christopher Bartholomew; tá sé seo CS50. 80 00:07:23,000 --> 00:07:26,000 [CS50.TV]