1 00:00:00,000 --> 00:00:02,490 [Powered by Google Translate] [CS50 Leabharlann] 2 00:00:02,490 --> 00:00:04,220 [Nate Hardison] [Ollscoil Harvard] 3 00:00:04,220 --> 00:00:07,260 Is é [seo CS50. CS50.TV] 4 00:00:07,260 --> 00:00:11,510 Tá an leabharlann CS50 uirlis úsáideach go bhfuil muid suiteáilte ar an fearas 5 00:00:11,510 --> 00:00:15,870 a dhéanamh níos éasca duit chun cláir a scríobh go úsáideoirí go pras le haghaidh ionchur. 6 00:00:15,870 --> 00:00:21,670 Sa físeán seo, beidh orainn tarraingt siar na cuirtíní agus breathnú ar cad é go díreach atá sa leabharlann CS50. 7 00:00:21,670 --> 00:00:25,520 >> Sa físeán ar leabharlanna C, labhairt linn faoi conas tá tú ag # comhaid ceanntásca 8 00:00:25,520 --> 00:00:27,570 an leabharlann i do cód foinse, 9 00:00:27,570 --> 00:00:31,150 agus ansin tú nasc le comhad leabharlann dhénártha le linn na céime ag nascadh 10 00:00:31,150 --> 00:00:33,140 den phróiseas tiomsaithe. 11 00:00:33,140 --> 00:00:36,440 Na comhaid header shonrú an comhéadan na leabharlainne. 12 00:00:36,440 --> 00:00:41,280 Is é sin, go mion siad go léir na n-acmhainní go bhfuil an leabharlann ar fáil chun tú a úsáid, 13 00:00:41,280 --> 00:00:45,250 cosúil le dearbhuithe feidhm, tairisigh, agus cineálacha sonraí. 14 00:00:45,250 --> 00:00:48,890 Tá an comhad leabharlann dhénártha cur chun feidhme an leabharlann, 15 00:00:48,890 --> 00:00:54,580 a chéile ó chomhaid cheanntáisc na leabharlainne agus ar an leabharlann. comhaid c cód foinse. 16 00:00:54,580 --> 00:00:59,820 >> Níl an comhad leabharlann dénártha an-suimiúil breathnú ar ós rud é tá sé, go maith, i dénártha. 17 00:00:59,820 --> 00:01:03,300 Mar sin, a ligean ar ghlacadh le breathnú ar na comhaid header don leabharlann ina ionad. 18 00:01:03,300 --> 00:01:07,710 Sa chás seo, níl ach aon chomhad header ar a dtugtar cs50.h. 19 00:01:07,710 --> 00:01:11,040 Táimid tar éis suiteáilte sé ar an t-úsáideoir san áireamh eolaire 20 00:01:11,040 --> 00:01:15,150 chomh maith le comhaid header na leabharlanna córas eile '. 21 00:01:15,150 --> 00:01:21,530 >> Ceann de na rudaí chéad beidh tú faoi deara go bhfuil go n-áirítear cs50.h # comhaid header ó leabharlanna eile - 22 00:01:21,530 --> 00:01:25,670 snámhphointe, teorainneacha, caighdeán bool, agus lib caighdeánach. 23 00:01:25,670 --> 00:01:28,800 Arís, tar éis an prionsabal nach reinventing an roth, 24 00:01:28,800 --> 00:01:33,490 tá muid tógtha leis an leabharlann CS0 ag baint úsáide as uirlisí eile sin ar fáil dúinn. 25 00:01:33,490 --> 00:01:38,690 >> Is é an rud eile go mbainfidh tú a fheiceáil sa leabharlann go shainiú i ndáil le cineál nua ar a dtugtar "teaghrán." 26 00:01:38,690 --> 00:01:42,330 An líne seo Cruthaíonn ndáiríre ach ailias don chineál * Char, 27 00:01:42,330 --> 00:01:46,000 mar sin ní dhéanann sé imbue magically an cineál teaghrán nua le tréithe 28 00:01:46,000 --> 00:01:49,650 coitianta a bhaineann le rudaí teaghrán i dteangacha eile, 29 00:01:49,650 --> 00:01:50,850 mar shampla fad. 30 00:01:50,850 --> 00:01:55,180 Is é an chúis atá déanta againn seo a sciath ríomhchláraitheoirí nua ó na sonraí gory 31 00:01:55,180 --> 00:01:57,580 de leideanna dtí go mbíonn siad ullamh. 32 00:01:57,580 --> 00:02:00,130 >> Tá an chuid eile den comhad header an dearbhú de na feidhmeanna 33 00:02:00,130 --> 00:02:04,410 go soláthraíonn an leabharlann CS50 chomh maith le doiciméadú. 34 00:02:04,410 --> 00:02:06,940 Fógra an leibhéal mionsonraithe sa tuairimí anseo. 35 00:02:06,940 --> 00:02:10,560 Tá sé seo Super tábhachtach ionas go mbeidh a fhios ag daoine conas úsáid a bhaint na feidhmeanna sin. 36 00:02:10,560 --> 00:02:19,150 Dearbhaímid, ar a seal feidhmeanna, go spreagfaidh an t-úsáideoir agus carachtair ar ais, dúbailtí, báid, ints, 37 00:02:19,150 --> 00:02:24,160 fada longs, agus teaghráin, ag baint úsáide as ár cineál teaghrán féin. 38 00:02:24,160 --> 00:02:26,260 Tar éis an prionsabal bhfolach faisnéise, 39 00:02:26,260 --> 00:02:31,640 ní mór dúinn a chur ar ár sainmhíniú i gcomhad ar leith chur chun feidhme c -. cs50.c-- 40 00:02:31,640 --> 00:02:35,110 lonnaithe san eolaire foinse úsáideoir. 41 00:02:35,110 --> 00:02:38,040 Táimid tar éis ar choinníoll go comhad ionas gur féidir leat a chur le breathnú ar sé, 42 00:02:38,040 --> 00:02:41,490 foghlaim ó sé, agus é a recompile ar mheaisíní éagsúla más mian leat, 43 00:02:41,490 --> 00:02:45,510 cé is dóigh linn go bhfuil sé níos fearr a bheith ag obair ar an fearas don rang. 44 00:02:45,510 --> 00:02:47,580 Mar sin féin, a ligean ar ghlacadh le breathnú ar sé anois. 45 00:02:49,020 --> 00:02:54,620 >> Tá feidhmeanna GetChar, GetDouble, GetFloat, GetInt, agus GetLongLong 46 00:02:54,620 --> 00:02:58,160 a tógadh go léir ar bharr an fheidhm GetString. 47 00:02:58,160 --> 00:03:01,510 Casadh sé amach go leanann siad ar fad go bunúsach an patrún céanna. 48 00:03:01,510 --> 00:03:04,870 Baineann siad úsáid as lúb agus go pras an t-úsáideoir le haghaidh líne amháin d'ionchur. 49 00:03:04,870 --> 00:03:08,430 Filleann siad luach ar leith má tá an t-úsáideoir ionchuir líne folamh. 50 00:03:08,430 --> 00:03:11,750 Iad ag iarraidh pharsáil an úsáideora ionchur mar an cineál is cuí, 51 00:03:11,750 --> 00:03:15,010 go mbeadh sé ina ruabhric, dúbailte, a snámhphointe, etc 52 00:03:15,010 --> 00:03:18,710 Agus ansin siad ar ais ceachtar an toradh más rud é an t-ionchur a bhí pharsáil go rathúil 53 00:03:18,710 --> 00:03:21,330 nó reprompt siad an t-úsáideoir. 54 00:03:21,330 --> 00:03:24,230 >> Ag leibhéal ard, nach bhfuil aon rud i ndáiríre tricky anseo. 55 00:03:24,230 --> 00:03:28,760 D'fhéadfá a bheith i scríbhinn cód céanna struchtúrtha féin san am atá caite. 56 00:03:28,760 --> 00:03:34,720 B'fhéidir gurb é an chuid is mó cryptic-lorg an glaoch sscanf go parses an úsáideora ionchur. 57 00:03:34,720 --> 00:03:38,160 Is Sscanf chuid de na teaghlaigh chomhshó ionchur formáid. 58 00:03:38,160 --> 00:03:42,300 Cónaíonn sé i io.h caighdeánach, agus is é a phost a pharsáil ar shraith C, 59 00:03:42,300 --> 00:03:46,520 de réir bhformáid ar leith, a stóráil na torthaí parsáil i athróg 60 00:03:46,520 --> 00:03:48,720 ar fáil ag an té atá ag glaoch. 61 00:03:48,720 --> 00:03:53,570 Ó tharla go bhfuil na feidhmeanna ionchur comhshó formáid an-úsáideach, feidhmeanna a úsáidtear go forleathan 62 00:03:53,570 --> 00:03:56,160 nach bhfuil Super iomasach ar dtús, 63 00:03:56,160 --> 00:03:58,300 beidh muid ag dul thar conas a oibríonn sscanf. 64 00:03:58,300 --> 00:04:03,330 >> Is í an argóint chéad sscanf a * Char - ar pointeoir go dtí carachtar. 65 00:04:03,330 --> 00:04:05,150 Maidir leis an fheidhm a bheith ag obair i gceart, 66 00:04:05,150 --> 00:04:08,340 Ba chóir go mbeadh an carachtar an chéad charachtar de shraith C, 67 00:04:08,340 --> 00:04:12,270 fhoirceannadh le carachtar \ nialasach 0. 68 00:04:12,270 --> 00:04:15,120 Is é seo an teaghrán a pharsáil 69 00:04:15,120 --> 00:04:18,269 Is í an argóint dara sscanf teaghrán formáide, 70 00:04:18,269 --> 00:04:20,839 de ghnáth a ritheadh ​​i mar tairiseach téad, 71 00:04:20,839 --> 00:04:24,040 agus a d'fhéadfadh bheith agat le feiceáil ar shraith mar seo roimh nuair a úsáid printf. 72 00:04:24,040 --> 00:04:28,650 Léiríonn comhartha faoin gcéad sa teaghrán formáide a sonraitheoir tiontaithe. 73 00:04:28,650 --> 00:04:30,850 An carachtar díreach tar éis comhartha faoin gcéad, 74 00:04:30,850 --> 00:04:35,430 Léiríonn an cineál C gur mian linn sscanf le tiontú go. 75 00:04:35,430 --> 00:04:40,090 I GetInt, a fheiceann tú go bhfuil d% agus c%. 76 00:04:40,090 --> 00:04:48,690 Ciallaíonn sé seo go sscanf iarracht a slánuimhir dheachúlach - an% d - agus ruabhric - an c%. 77 00:04:48,690 --> 00:04:51,510 I gcás gach sonraitheoir tiontaithe sa teaghrán formáide, 78 00:04:51,510 --> 00:04:56,620 sscanf súil argóint comhfhreagrach níos déanaí ina liosta argóint. 79 00:04:56,620 --> 00:05:00,850 Ní mór go argóint pointe go bhfuil suíomh cuí clóscríofa 80 00:05:00,850 --> 00:05:04,000 inar a stóráil ar an toradh an chomhshó. 81 00:05:04,000 --> 00:05:08,910 >> Is é an bealach is gnách é seo a dhéanamh a chruthú athróg ar an chruach roimh an glaoch sscanf 82 00:05:08,910 --> 00:05:11,440 do gach mír gur mian leat a pharsáil as an teaghrán 83 00:05:11,440 --> 00:05:15,520 agus a úsáid ansin an t-oibreoir seoladh - an COMHARTHA AGUIS - chun leideanna pas 84 00:05:15,520 --> 00:05:19,100 do na hathróga chun an glaoch sscanf. 85 00:05:19,100 --> 00:05:22,720 Is féidir leat a fheiceáil go bhfuil i GetInt a dhéanamh againn go díreach seo. 86 00:05:22,720 --> 00:05:28,240 Ceart roimh an glaoch sscanf, ní mór dúinn a dhearbhú ina slánuimhir a dtugtar n agus c glao Char ar an chruach, 87 00:05:28,240 --> 00:05:32,340 agus pas muid leideanna chun iad a chur sa ghlao sscanf. 88 00:05:32,340 --> 00:05:35,800 Ag cur na n-athróg ar an chruach is fearr thar úsáid a bhaint as spás a leithdháileadh 89 00:05:35,800 --> 00:05:39,350 ar an gcarn le malloc, ós rud é tú a sheachaint forchostais an glaoch malloc, 90 00:05:39,350 --> 00:05:43,060 agus ní gá duit a bheith buartha faoi leaking chuimhne. 91 00:05:43,060 --> 00:05:47,280 Ní carachtair nach bhfuil réimír ag comhartha faoin gcéad pras chomhshó. 92 00:05:47,280 --> 00:05:50,380 Ina ionad sin siad a chur díreach chuig an sonraíocht formáid. 93 00:05:50,380 --> 00:05:56,500 >> Mar shampla, dá mbeadh an teaghrán formáide i GetInt a% d ina ionad sin, 94 00:05:56,500 --> 00:05:59,800 Ba mhaith sscanf breathnú ar an litir a leanúint ag slánuimhir, 95 00:05:59,800 --> 00:06:04,360 agus cé go mbeadh sé iarracht a thiontú ar an slánuimhir, ní bheadh ​​sé a dhéanamh aon rud eile leis an a. 96 00:06:04,360 --> 00:06:07,440 Is é an eisceacht amháin chun an spás bán. 97 00:06:07,440 --> 00:06:11,030 Carachtair spás bán i teaghrán formáide a mheaitseáil aon mhéid de spás bán - 98 00:06:11,030 --> 00:06:12,890 fiú ar bith ar chor ar bith. 99 00:06:12,890 --> 00:06:18,100 Mar sin, sin an fáth a luann an trácht b'fhéidir, le rá agus / nó trailing spás bán. 100 00:06:18,100 --> 00:06:22,910 Mar sin, beidh ag an bpointe seo tá sé cosúil ár n-glaoch sscanf iarracht a pharsáil teaghrán ionchur an úsáideora 101 00:06:22,910 --> 00:06:25,380 ag seiceáil le haghaidh spás bán tosaigh is féidir, 102 00:06:25,380 --> 00:06:29,300 ina dhiaidh sin o go mbeidh a thiontú agus a stóráil i athróg n slánuimhir 103 00:06:29,300 --> 00:06:33,090 le leanúint ag roinnt méid de spás bán, agus ina dhiaidh sin le carachtar 104 00:06:33,090 --> 00:06:35,810 atá stóráilte sa c Char athraitheach. 105 00:06:35,810 --> 00:06:37,790 >> Cad mar gheall ar an luach ar ais? 106 00:06:37,790 --> 00:06:41,560 Beidh Sscanf pharsáil an líne ionchur ó thús go deireadh, 107 00:06:41,560 --> 00:06:44,860 stopadh nuair a shroicheann sé an deireadh nó nuair a carachtar san ionchur 108 00:06:44,860 --> 00:06:49,320 ní oireann an carachtar formáide nó nuair nach féidir a dhéanamh chomhshó é. 109 00:06:49,320 --> 00:06:52,690 Tá luach ar ais sé a úsáidtear chun Singil nuair a stop sé. 110 00:06:52,690 --> 00:06:55,670 Má stop sé, mar gheall ar shroich sé an deireadh an teaghrán ionchur 111 00:06:55,670 --> 00:07:00,630 sula ndéanfar aon conversions agus roimh teip a mheaitseáil chuid den teaghrán formáide, 112 00:07:00,630 --> 00:07:04,840 ansin tá an difríocht idir na naisc speisialta tairiseach ar ais. 113 00:07:04,840 --> 00:07:08,200 Seachas sin, tugann sé líon na conversions rathúil, 114 00:07:08,200 --> 00:07:14,380 D'fhéadfadh a bheith ina 0, 1, nó 2, ós rud é againn d'iarr ar feadh dhá conversions. 115 00:07:14,380 --> 00:07:19,000 In ár gcás, ba mhaith linn a dhéanamh cinnte go bhfuil an t-úsáideoir clóscríofa i slánuimhir agus ní raibh ach ina slánuimhir. 116 00:07:19,000 --> 00:07:23,370 >> Mar sin, ba mhaith linn sscanf a thabhairt ar ais 1. Féach ar cén fáth? 117 00:07:23,370 --> 00:07:26,850 Más rud é ar ais sscanf 0, rinneadh ansin ní conversions, 118 00:07:26,850 --> 00:07:31,690 an t-úsáideoir clóscríofa mar sin rud éigin eile seachas an slánuimhir ag tús an t-ionchur. 119 00:07:31,690 --> 00:07:37,100 Má fhilleann sscanf 2, ansin raibh an t-úsáideoir cineál gceart é ag tús an t-ionchur, 120 00:07:37,100 --> 00:07:41,390 ach chlóscríobh siad ansin i roinnt carachtar neamh-spás bán ina dhiaidh sin 121 00:07:41,390 --> 00:07:44,940 ó% d'éirigh c chomhshó. 122 00:07:44,940 --> 00:07:49,570 Wow, tá go leor míniú fada ar cheann glaoch fheidhm. 123 00:07:49,570 --> 00:07:53,460 Mar sin féin, más mian leat tuilleadh eolais a fháil ar sscanf agus a deirfiúracha, 124 00:07:53,460 --> 00:07:57,130 seiceáil amach an leathanaigh fear, Google, nó iad araon. 125 00:07:57,130 --> 00:07:58,780 Tá go leor de na roghanna teaghrán formáide, 126 00:07:58,780 --> 00:08:03,830 agus is féidir iad a shábháil tú a lán obair láimhe nuair a iarraidh chun teaghráin pharsáil i C. 127 00:08:03,830 --> 00:08:07,180 >> Is é an fheidhm deiridh sa leabharlann chun féachaint ar GetString. 128 00:08:07,180 --> 00:08:10,310 Casadh sé amach go bhfuil GetString feidhm tricky a scríobh i gceart, 129 00:08:10,310 --> 00:08:14,290 cé is cosúil sé cosúil le a leithéid de tasc simplí coitianta. 130 00:08:14,290 --> 00:08:16,170 Cén fáth é seo an cás? 131 00:08:16,170 --> 00:08:21,380 Bhuel, a ligean ar smaoineamh ar conas táimid ag dul a stóráil ar an líne go bhfuil an t-úsáideoir cineálacha isteach 132 00:08:21,380 --> 00:08:23,880 Ós rud é teaghrán sraith carachtair, 133 00:08:23,880 --> 00:08:26,430 D'fhéadfadh muid ag iarraidh é a stóráil in eagar ar an chruach, 134 00:08:26,430 --> 00:08:31,250 ach ba mhaith linn a fhios cé chomh fada is go bhfuil an eagar ag dul a bheith nuair a dhearbhú. 135 00:08:31,250 --> 00:08:34,030 Mar an gcéanna, más mian linn a chur ar an gcarn, 136 00:08:34,030 --> 00:08:38,090 ní mór dúinn chun pas a malloc líon na mbeart ba mhaith linn a chur in áirithe, 137 00:08:38,090 --> 00:08:39,730 ach tá sé seo dodhéanta. 138 00:08:39,730 --> 00:08:42,760 Tá aon smaoineamh cé mhéad carachtair a bheidh an t-úsáideoir cineál i 139 00:08:42,760 --> 00:08:46,590 roimh an t-úsáideoir nach iarbhír cineál iad. 140 00:08:46,590 --> 00:08:50,720 >> Tá réiteach naive ar an bhfadhb a chur in áirithe ach smután mór de spás, a rá, 141 00:08:50,720 --> 00:08:54,540 bloc de 1000 chars don úsáideoir ionchur, 142 00:08:54,540 --> 00:08:57,980 ag glacadh leis riamh go mbeadh an t-úsáideoir cineál i teaghrán go fada. 143 00:08:57,980 --> 00:09:00,810 Is é an smaoineamh dona ar dhá chúis. 144 00:09:00,810 --> 00:09:05,280 Gcéad dul síos, ag glacadh leis go úsáideoirí ghnáth ní féidir cineál i teaghráin go fada, 145 00:09:05,280 --> 00:09:07,610 d'fhéadfaí tú a dramhaíl a lán de chuimhne. 146 00:09:07,610 --> 00:09:10,530 Ar meaisíní nua-aimseartha, ní a d'fhéadfadh a bheith seo le ceist má dhéanann tú é seo 147 00:09:10,530 --> 00:09:13,890 i gceann amháin nó dhá chás iargúlta, 148 00:09:13,890 --> 00:09:17,630 ach má tá tú ag cur úsáideora ionchur i lúb agus a stóráil lena n-úsáid ina dhiaidh sin, 149 00:09:17,630 --> 00:09:20,870 is féidir leat a tarraing suas go tapa a ton de chuimhne. 150 00:09:20,870 --> 00:09:24,450 Ina theannta sin, má tá an clár tú ag scríobh do ríomhaire níos lú - 151 00:09:24,450 --> 00:09:28,100 gléas cosúil le smartphone nó rud éigin eile le cuimhne teoranta - 152 00:09:28,100 --> 00:09:32,060 Beidh an réiteach fadhbanna a lán níos tapúla. 153 00:09:32,060 --> 00:09:36,450 Is é an dara, cúis níos tromchúisí go dtí méid nach é seo a dhéanamh go bhfágann sé do chlár leochaileacha 154 00:09:36,450 --> 00:09:39,710 leis an méid ar a dtugtar ionsaí thar maoil maolán. 155 00:09:39,710 --> 00:09:45,840 I gcláir, tá maolán cuimhne a úsáidtear chun a stóráil go sealadach sonraí a ionchur nó aschuir, 156 00:09:45,840 --> 00:09:48,980 atá sa chás seo ár n-1000-Char bloc. 157 00:09:48,980 --> 00:09:53,370 Tarlaíonn thar maoil maolán nuair a dhéanfar sonraí scríofa anuas ar an deireadh an bhloic. 158 00:09:53,370 --> 00:09:57,790 >> Mar shampla, má dhéanann úsáideoir iarbhír cineál i níos mó ná 1000 chars. 159 00:09:57,790 --> 00:10:01,570 D'fhéadfá a bhfuil taithí acu seo trí thimpiste nuair a cláir le arrays. 160 00:10:01,570 --> 00:10:05,620 Má tá tú le sraith de 10 ints, stopann rud tú ó iarraidh a léamh nó a scríobh 161 00:10:05,620 --> 00:10:07,810 o 15ú. 162 00:10:07,810 --> 00:10:10,000 Níl aon rabhaidh Tiomsaitheoir nó earráidí. 163 00:10:10,000 --> 00:10:13,250 An clár blunders ach díreach ar aghaidh agus bhfuil teacht an chuimhne 164 00:10:13,250 --> 00:10:18,150 nuair is cuí léi a bheidh an slánuimhir an 15ú bheidh, agus is féidir é seo do athróga eile forscríobh. 165 00:10:18,150 --> 00:10:22,040 Sa chás is measa, is féidir leat scríobh roinnt de do chláir inmheánacha 166 00:10:22,040 --> 00:10:26,820 meicníochtaí rialaithe, is cúis le do chlár a fheidhmiú iarbhír treoracha éagsúla 167 00:10:26,820 --> 00:10:28,340 ná beartaithe agat. 168 00:10:28,340 --> 00:10:31,360 >> Anois, nach bhfuil sé coitianta chun é seo a dhéanamh de thaisme, 169 00:10:31,360 --> 00:10:35,150 ach tá sé seo le teicníc coitianta go leor go n-úsáideann guys dona le cláir a bhriseadh 170 00:10:35,150 --> 00:10:39,080 agus a chur cód mailíseach ar dhaoine eile ríomhairí. 171 00:10:39,080 --> 00:10:42,910 Dá bhrí sin, ní féidir linn a úsáid ach ár réiteach naive. 172 00:10:42,910 --> 00:10:45,590 Ní mór dúinn ar bhealach chun cosc ​​a chur ar ár gclár as a bheith i mbaol 173 00:10:45,590 --> 00:10:47,880 chun ionsaí Maolán overflow. 174 00:10:47,880 --> 00:10:51,430 Chun seo a dhéanamh, is gá dúinn a chinntiú gur féidir lenár Maolán fás de réir mar a léigh muid 175 00:10:51,430 --> 00:10:53,850 ionchur níos mó as an t-úsáideoir. 176 00:10:53,850 --> 00:10:57,440 An réiteach? Bainimid úsáid as maolán leithdháileadh gcarn. 177 00:10:57,440 --> 00:10:59,950 Ós rud é is féidir linn a Athraigh baint úsáide as é an Athraigh an fheidhm realloc, 178 00:10:59,950 --> 00:11:04,580 agus a choinneáil orainn súil a dhá uimhir - an t-innéacs na sliotán chéad folamh i maolán 179 00:11:04,580 --> 00:11:08,390 agus fad nó le hinniúlacht an maolán. 180 00:11:08,390 --> 00:11:13,210 Léaghthar san carachtair ón úsáideoir amháin ag an am ag baint úsáide as an fheidhm fgetc. 181 00:11:13,210 --> 00:11:19,360 Is tagairt í don teaghrán ionchur caighdeánach, - an argóint Bíonn an fheidhm fgetc - stdin 182 00:11:19,360 --> 00:11:23,810 a bhfuil cainéal ionchur preconnected a úsáidtear a aistriú chuig an úsáideora ionchur 183 00:11:23,810 --> 00:11:26,270 an gcríochfort ar an gclár. 184 00:11:26,270 --> 00:11:29,890 >> Aon uair an t-úsáideoir cineálacha i carachtar nua, a sheiceáil muid a fheiceáil má tá an innéacs 185 00:11:29,890 --> 00:11:35,810 an sliotán eile saor in aisce móide 1 níos mó ná an cumas an maolán. 186 00:11:35,810 --> 00:11:39,690 An 1 thagann i toisc go bhfuil má tá an t-innéacs seo chugainn saor in aisce 5, 187 00:11:39,690 --> 00:11:44,150 ansin ní mór a bheith ar ár maolán ar fad 6 a bhuíochas sin do 0 innéacsú. 188 00:11:44,150 --> 00:11:48,350 Má tá muid siúl as an spás sa Maolán, ansin iarracht muid a athrú é, 189 00:11:48,350 --> 00:11:51,690 dhúbailt ionas go leagaimid síos ar an méid uaireanta go bhfuil muid Athraigh 190 00:11:51,690 --> 00:11:54,760 má tá an t-úsáideoir a chlóscríobh i teaghrán i ndáiríre fada. 191 00:11:54,760 --> 00:11:57,950 Má tá an teaghrán gotten ró-fhada nó má reáchtáil againn as cuimhne gcarn, 192 00:11:57,950 --> 00:12:01,350 saor in aisce ar ár maolánacha agus null ar ais. 193 00:12:01,350 --> 00:12:04,170 >> Ar deireadh, cuir muid ar an ruabhreac ar an maolán. 194 00:12:04,170 --> 00:12:08,200 Chomh luath agus an amas úsáideora isteach nó filleadh, comharthaíocht ar líne nua, 195 00:12:08,200 --> 00:12:12,050 nó speisialta Char - rialú d - a comharthaí ag deireadh na ionchur, 196 00:12:12,050 --> 00:12:16,240 a dhéanann muid seiceáil a fheiceáil má tá an t-úsáideoir clóscríofa i ndáiríre i rud ar bith ar chor ar bith. 197 00:12:16,240 --> 00:12:18,820 Mura bhfuil, ar ais dúinn faoin margadh saothair. 198 00:12:18,820 --> 00:12:22,280 Seachas sin, toisc go bhfuil ár n-maolán is dócha níos mó ná ní mór dúinn, 199 00:12:22,280 --> 00:12:24,830 i gcás is measa tá sé beagnach dhá uair chomh mór is gá dúinn 200 00:12:24,830 --> 00:12:27,830 ó againn a dhúbailt gach uair Athraigh againn, 201 00:12:27,830 --> 00:12:31,840 a dhéanamh linn cóip nua ar an teaghrán ag baint úsáide as ach an méid spáis a theastaíonn uainn. 202 00:12:31,840 --> 00:12:34,220 Cuir muid ar 1 breise ar an nglaoch malloc, 203 00:12:34,220 --> 00:12:37,810 ionas go níl spás le haghaidh an carachtar speisialta nialasach Críochnaitheoir - an \ 0, 204 00:12:37,810 --> 00:12:41,990 a iarcheangail muid go dtí an teaghrán nuair a chóipeáil againn sa chuid eile de na carachtair, 205 00:12:41,990 --> 00:12:45,060 ag baint úsáide as strncpy ionad strcpy 206 00:12:45,060 --> 00:12:48,830 ionas gur féidir linn a shonrú go díreach cé mhéad carachtair ba mhaith linn a chóipeáil. 207 00:12:48,830 --> 00:12:51,690 Strcpy cóipeanna go dtí amas sé ar \ 0. 208 00:12:51,690 --> 00:12:55,740 Ansin againn saor in aisce ar ár maolánacha agus an chóip ar ais chuig an té atá ag glaoch. 209 00:12:55,740 --> 00:12:59,840 >> Cé a fhios d'fhéadfadh feidhm den sórt sin simplí-seeming a bheith casta mar sin? 210 00:12:59,840 --> 00:13:02,820 Anois tá a fhios agat cad a théann isteach sa leabharlann CS50. 211 00:13:02,820 --> 00:13:06,470 >> Is é mo ainm Nate Hardison, agus tá sé seo CS50. 212 00:13:06,470 --> 00:13:08,350 [CS50.TV]