Jason Hirschhorn: Fáilte, gach duine, chun Seachtain 6. Tá mé sásta a fheiceann tú ar fad beo agus go maith tar éis Tráth na gCeist 0, mar tá a fhios agam go Bhí beagán garbh. Ach buíochas le Dia, tá tú go léir Rinne thar a bheith go maith. Agus mar sin is é sin iontach. Má tá tú i mo roinn, tá mé an chuid is mó a thugtar de tú ar ais ar do tráth na gceist cheana féin. Tá cúpla de tú, tá mé ag cruinniú tar éis an ranga. Agus má tá tú mac léinn síneadh agus nach bhfuair tú do tráth na gceist ar ais go fóill, tá do TF ag obair is dócha ar sé agus beidh a ghrádú, agus é a fháil ar ais a thabhairt duit go luath. Mar sin, mo mhic léinn síneadh atá faire ceart anois - tá súil againn beo - Beidh mé a fháil ar do tráth na gceist go luath chomh maith. Is é ár gclár oibre don lá atá inniu mar seo a leanas. Gcéad dul síos, táimid ag dul chun dul thar roinnt acmhainní a sholáthraíonn CS50 a thabhairt duit. Táimid ag dul chun dul thar Tráth na gCeist 0 chugainn, agus Feicfidh mé a fhreagairt aon cheisteanna aon duine tá thart ar fadhbanna faoi leith. Agus ansin, beidh muid ag dul thar comhad I / O agus fadhb atá leagtha 5. Beidh na dhá thopaic seo caite ghlacadh suas an chuid is mó de lá atá inniu ann alt. Chuir mé an liosta seo suas gach seachtain mar meabhrúchán a thabhairt duit go léir, ach an croí alt, ní mór dúinn ach 90 nóiméad - againn nach bhfuil in ann gach rud a chlúdach go bhfuil mé Bheadh ​​grá a chlúdach ar do shon guys. Ach dhéanaimid bhfuil a ton na n-acmhainní do tú a tharraingt ar mar a fhaigheann tú ar an eolas an t-ábhar agus obair trí Leagann d'fhadhb. A gcuimhne go bhfuil mé ar líne le téacs bosca, arna chur ar bun chun tú a líonadh amach má tá tú aon aiseolas dom, dearfach agus cuiditheach, faoi alt. Is é sin an URL suite ar dheis síos anseo. Mar sin, le do thoil, a chur i láthair má tá aon aiseolas, cibé acu le linn alt, nó tar éis, nó tar éis duit féachaint ar na físeáin ar líne, a thabhairt dom do chuid aiseolais. Mé buíoch i ndáiríre ar bith agus go léir é. Mar sin, tá mé ag a bhfuil comhrá beag le go leor de mo mic léinn i rith na seachtaine - mar a lámh mé tráth na gceist ar ais, ag caint faoi an Ar ndóigh, ag féachaint conas atá tú a dhéanamh. Agus tá téama amháin a thagann suas thar agus níos mó ná i caint faoi - i ar leith - Leagann an bhfadhb. Agus tá mé encapsulated téama ar an mbord ceart anois. Go bunúsach, níl difríocht idir casadh i rud éigin go bhfuil dhéanamh i gceart agus rud éigin go bhfuil déanta go maith. Chuid is mó daoine ag déanamh iontach i dtéarmaí cirte - 5 nó 4 maidir le gach psets. An chuid is mó daoine ag fáil siúd go léir ar an am. Mar sin féin, díreach mar atá tú ag déanamh rud éigin nach bhfuil an ceart chiallaíonn atá tú rud éigin a dhéanamh mar elegantly, nó héifeachtach, nó chomh cleanly agus is tú D'fhéadfadh a bheith déanta air. Agus sin cad é an dearadh - agus go pointe níos lú, stíl - Tá aiseanna do. Mar sin, tá mé ag brú tú go léir, agus TFS eile ag brú tú guys, ní amháin cas i rudaí a bhfuil ceart, ach cas sna rudaí a bhfuil códaithe go maith. Ní ag déanamh gan ghá DO lúb, Ní athróg más rud é atháireamh ní gá duit a. Mar shampla, ag breathnú ar ais go dtí an fhadhb atá leagtha 4, nuair a chur ar an brící ar an scáileán, gach as a chéile - gach bríce i Tá a chéile mar gheall ar an gcéanna y-chomhordú - an airde chéanna a chomhordú. Mar sin, go y-chomhordú ní raibh gá le a ríomh taobh istigh ar an taobh istigh neadaithe DO lúb go bhfuil tú a úsáidtear dócha a chur leis na brící ar an scáileán. Riachtanais sé ach a ríomh gach am a d'athraigh tú as a chéile, nó ar athraíodh a ionad síos as a chéile. Mar sin, a rá má tá 10 brící i as a chéile, is féidir le gach bríce a bheith mar an gcéanna y-chomhordú, agus go bhfuil y-chomhordú Is féidir a ríomh go díreach uair amháin do gach de na. Ní chuireann sé gá a ríomh 10 amanna, ná ní ghlacann an riachtanas ríomh a tharlóidh sa iarbhír glaoch feidhm - an glaoch fheidhm gracked nua. Mar sin, más rud é go mearbhall beag do tú, níos cineálach, rudaí a nach gá go dtarlódh gach uair amháin théann tú trí lúb DO Níor chóir go mbeadh chur taobh istigh an lúb DO, agus níor chóir tharlaíonn gach uair a théann tú tríd an lúb DO. Sampla eile is ea dearadh maith chonaic muid i Seachtain 3 le haghaidh 15, d'fhéadfaí tú a choinneáil súil a choinneáil ar an náid. Mar sin, nuair a thúsú tú an mbord, tú shábháil - i athróg domhanda, b'fhéidir - x agus y-chomhordú ar an náid. Agus ansin aon uair is tú - i do fheidhm bogadh, aon uair a dhéanann tú bogadh rathúil, cothrom le dáta tú ar an suíomh na náid. Bheadh ​​sé sin a shábháil tú as a bhfuil a dhéanamh neadaithe DO lúba chun breathnú tríd an bord gach uair i do fheidhm bogadh agus teacht ar an náid, nó a fháil ar an tíl, agus ansin seiceáil cad atá i ndán dó. Ina áit sin, tá tú ar an suíomh na náid, is féidir leat breathnú díreach os cionn, faoi bhun, agus ar an chlé agus ar dheis de, a aimsiú an tíl raibh tú ag lorg. Mar sin, i dtéarmaí na gclár táimid scríobh, ní tá siad mór go leor go bhfuil roinnt de na cinntí a dearadh ag dul i ndáiríre a isteach do clár, nó a dhéanamh rith sé níos moille, nó b'fhéidir fiú siúl as an chuimhne. Ach táimid ag brú tú fós guys a scríobh chomh galánta agus Cód éifeachtach agus is féidir. Mar sin, má dhéanann tú deireadh suas rudaí scríobh go bhfuil i bhfad níos mó raon feidhme, beidh siad a scríobh le dea- dearadh chomh maith le bheith ceart. Mar sin, roinnt de a bhfuil tú Thug sin amach. Sin rud éigin táimid ag lorg - rud éigin táimid ag dul chun leanúint ar aghaidh go dtí bhrú tú guys ar. Má tá tú riamh aon cheist agat faoi na dearadh do chlár, a bhraitheann saor in aisce a bhaint amach dom, agus tá mé sásta go siúl trí do chlár a bhfuil tú, agus pointe amach roinnt de na dearadh cinntí a rinne tú, agus a thabhairt duit roinnt moltaí maidir le conas a dhéanamh fiú cinntí a dearadh níos fearr. Mar sin, táimid ag dul chun bogadh ar a caint faoi Tráth na gCeist 0. Roimh dhéanann muid a dhéanann, aon duine tá aon cheist agat faoi cad Tá mé clúdaithe go dtí seo? [TORANN rustling] Jason Hirschhorn: Seacht soicind. OK. A ligean ar labhairt faoi Tráth na gCeist 0 do beagán. An chuid is mó de tú go bhfuil do Tráth na gCeist 0 ais. Mura ndéanann tú, tá súil againn cuimhin leat é le beagán. Ach má tá tú ag glacadh Tráth na gCeist 0, ansin tú chomh maith le rochtain ar an PDF ar líne i na réitigh shamplacha. An bhfuil aon cheist roimh aon duine léim muid isteach ábhar na seachtaine faoi fadhb ar leith ar Tráth na gCeist 0 - cén fáth a bhfuil an freagra a bhfuil sé? An bhfuil aon duine mearbhall faoi rud ar bith? Fiú má fuair tú an fhadhb ceart, ach Ba mhaith liom ach mé a mhíniú sé beagán níos mó, tá mé sásta é sin a dhéanamh anois. Mar sin, d'iarr mé tú guys a bheith réidh le roinnt smaointe faoi Tráth na gCeist 0. Mar sin, ar mhaith leo a fháil linn Cuireadh tús le ceist nó trácht faoi Tráth na gCeist 0? [PÁIPÉAR rustling] Jason Hirschhorn: Nach bhfuil gach duine rinne breá. Mar sin, tá a fhios agam [gáirí] ann a bheith ar roinnt ceisteanna Tráth na gCeist faoi 0. OK. Tá. Ompica. OMPICA: Uimhir 10. Jason Hirschhorn: Uimhir 10. Cé acu ceann a bhí uimhir 10? OMPICA: An - Jason Hirschhorn: haven't mé - OMPICA: An áireamh - Jason Hirschhorn: Bhí Uimhir 10 ocht a liom - scríobh ocht go mé? OMPICA: Yeah. Jason Hirschhorn: OK. Mar sin ceist eile a d'fhéadfadh tú a bheith D'iarr Bhí mé prescient mé? Is é an freagra yes. In alt roimh an tráth na gceist, d'iarr mé tú guys chun cód araon Sterling agus ocht a i. An bheirt acu a tharla do le feiceáil ar an tráth na gceist. Mar sin tá súil againn, d'íoc tú aird a thabhairt ar sin. Agus má bhí tú, ansin bheadh ​​agat is dócha a dhéanamh go maith ar an dá. Ach ocht a liom, ní raibh muid i ndáiríre cód sa rang, ach bhí sé, arís, D'iarr ar an tráth na gceist. Mar sin, cúpla rudaí a ghlacadh faoi ​​deara nuair a códaithe hocht go dtí a i. An chéad rud, in aghaidh an cheist, bhí gur gá duit a sheiceáil má tá an teaghrán bhí go comhionann leis null. Tá cúpla daoine iarracht a sheiceáil ina dhiaidh sin ar sa chlár má s lúibín bhí mé - mar sin cháilíocht shonrach sa mhéid is go teaghrán - bhí go comhionann leis null. Ach cuimhnigh, is é sin go bunúsach Eolas faoin margadh saothair - tá sé go maith chun smaoineamh ar Eolas faoin margadh saothair mar pointeoir náid - pointeoir a náid - someplace i gcuimhne nuair a Ní féidir leat rochtain a fháil. Mar sin, tá más rud éigin cothrom le Eolas faoin margadh saothair, tú a fhios nach bhfuil sé initialized, nó níl rud ar bith ann. Dá bhrí sin tá s réalta ruabhreac, s Is lúibín i ruabhric. Mar sin, déanann sé ciall a chur i gcomparáid s faoin margadh saothair, ach ní s scriosaidh mé a margadh saothair. Ach arís - mar sin go raibh an chéad rud go raibh tú ceaptha a dhéanamh - seiceáil a dhéanamh cinnte go bhfuil tú i ndáiríre Fuair ​​teaghrán fíor. Next, a raibh tú chun dul tríd gach carachtar sa téad. Agus mar sin a bheadh ​​cosúil le scriosaidh s i, mar shampla, má tá mé do iterator. Agus a ghlacadh go carachtar, agus a fháil ar a luach iarbhír. Tá tú a stóráil sé mar ruabhreac, ach an luach ASCII do náid - náid mar charachtar - nach bhfuil i ndáiríre an tslánuimhir nialas. Tá sé le huimhir éigin eile gur féidir leat breathnú suas sa tábla ASCII. Mar sin, bealach amháin a cheartú le haghaidh sin - dócha an bealach is fearr a cheartú le haghaidh go - tá a dhealú ó sé luach charachtar - náid mar charachtar. Ceanglófar aonair sin lúide, náid, ceanglófar aonair eile. Beidh sin cibé líon a bhfuil tú mar Char, agus a fháil comhionann é a an líon mar slánuimhir iarbhír. Agus is é sin an-chosúil leis an gcur chuige a lán de na daoine a ghlac an fhadhb a leagtar 2, le Caesar agus Viginere - sin sifir, nuair a dhéanann tú bhí rothlach leo. Mar sin, tar éis a bhfuil tú é mar roinnt ó náid a naoi, ansin - ag brath ar nuair a théann sé i líon deiridh - is gá duit a iolrú é ag cumhacht de 10. Bhog roinnt daoine as an ais go dtí an tosaigh, agus iolrú an duine aonair uimhir trí chumhacht de 10. Bhog roinnt daoine ó an tosaigh ar ais - agus mar sin ghlac an airde uimhreacha a ordú ar dtús - agus go mbeadh a shábháil iad siúd i athróg gcuntar domhanda. Agus ansin gach uair tríd an DO lúb, a iolrú go fathach domhanda i ngleic athróg 10, a dhéanamh spás le haghaidh an ruabhreac eile. Mar sin, go raibh mearbhall beag gan scríobh mé é ar an mbord. Ach an réiteach sampla atá ar fáil duit. Ach bhí sin an rudaí móra bhí muid ag lorg. Chomh maith leis sin seiceáil a dhéanamh cinnte go bhfuil gach Ba chineál leithleach go deimhin carachtar idir nialas agus naoi, agus ní carachtar éigin eile, cosúil le A, mar shampla. Bhí Glacfar na rudaí a bhí á lorg againn sa cheist sin. An bhfuil do cheist a fhreagairt? OMPICA: Yeah. Jason Hirschhorn: OK. An bhfuil aon cheisteanna eile Tráth na gCeist faoi 0? Cad mar gheall ar thiomsú? Gach duine a thiomsú ceart? Uimh Bhí - [Laughs] Aon cheisteanna maidir leis an próiseas tiomsú? Wow. [PÁIPÉAR rustling] Jason Hirschhorn: Is ea. Michael. MICHAEL: An bhfuil uimhir 7 - randamach? Jason Hirschhorn: Líon 7. Uimhir 7 Ba fháil slánuimhir randamach. Scoth. Mar sin, tá tú ag a tugadh slánuimhir a agus a slánuimhir b, agus ba mhaith leat randamach slánuimhir idir a agus b. Is féidir linn a scríobh i ndáiríre an ceann seo ar an bord, mar gheall ar an gceann seo Bhí líne amháin de chód - bealach amháin chun é a dhéanamh. Mar sin, táimid tugtha drand mar fheidhm féidir linn a úsáid. Agus cad drand - ag glacadh leis tá sé curtha seeded - cad drand ar ais? MICHAEL: A snámh idir 0.0 agus 1.0. Jason Hirschhorn: roinnt - yera yeah. Tá roinnt idir 0 agus 1. Agus mar sin ní mór dúinn b agus. Agus ansin ní mór dúinn ár n-uimhir randamach idir 0 agus 1 a tugadh dúinn ag drand. Roinnt daoine iarracht b a chur, nó b lúide a, nó rud éigin taobh istigh siúd idir lúibíní. Bheadh ​​sé sin a chiallaíonn go mbíonn siad argóintí an fheidhm seo. Ní drand aon argóintí - mar a dhéanann getString ní ghlacfaidh aon argóintí. Mar sin, tá sé ach paren oscailte, gar paren - agus go bhfuil, é féin, an glaoch fheidhm. Agus tugann go bhfuil tú roinnt idir 0 agus 1. Ar ndóigh, ní mór dúinn a raon iomlán gur féidir uimhreacha a bheith isteach Abair, más rud é go b 10 agus is 5, táimid i ndáiríre Ba mhaith roinnt le raon de 5. Mar sin, is é an rud eile is gá dúinn a dhéanamh méadaigh seo ag an raon b lúide. Mar sin, ag glacadh leis go bhfuil iolrú. Agus beidh a thabhairt dúinn roinnt laistigh de raon a thugtar. Agus an raon sin ar leith a bheith ar an difríocht idir b lúide. Agus ar deireadh, beidh a thabhairt ach sé as - a rá leis an raon idir b lúide Is é 5, beidh a thabhairt dúinn líon 0-5. Ach má tá i ndáiríre 5, ní mór dúinn a threisiú réimse seo suas go dtí áit a bhfuil sé ceaptha iarbhír a bheith, ag cur. Mar sin, go bhfaigheann an ceart loighic. Agus ansin, a bheadh ​​agat ceist eile? MICHAEL: Uimh Bhraitheann mé díreach i ndáiríre balbh ceart anois. [Laughs] Jason Hirschhorn: Uimh Ná mbraitheann i ndáiríre balbh. Tá líon na ndaoine ag streachailt leis an gceist seo. Agus ansin, is é an cheist eile, drand, dúirt tú, tugann tú snámhphointe - tuairisceáin snámhphointe. Ach an fheidhm seo iarr iarbhír do slánuimhir a chur ar ais. Ní gá duit a chaitheamh seo go sonrach le slánuimhir, mar gheall ar na Beidh oibríochtaí a chóireáil sé mar go léir snámhphointe - mar uimhir shnámhphointe. Cosúil éileoidh sé sin - fiú más rud é seo Is slánuimhir, beidh seo a iolrú i gceart. Beidh gach an iolraithe ag obair. Ní gá duit a chaitheamh anseo. Go deimhin, ní ba chóir duit a chaith sé. Go mbeadh - más mian leat a chaitheamh ar roinnt go bhfuil idir 0 agus 1 - uimhir randamach, pointe ar snámh - ansin beidh sé a bheith ach 0 nó 1, mar sin go mbainfidh tú chailleann gach ceann de sin cruinneas. Ach ag an deireadh, nuair a fhilleann tú, Faigheann sé go huathoibríoch sheoladh ar ais mar slánuimhir. Mar sin, ní gá duit a dhéanamh go réitigh duit féin. Mar sin, ba é seo an freagra ar an cheist sin, uimhir 7. Ceisteanna ar bith eile ar Tráth na gCeist 0? Yeah, Annie. ANNIE: Cathain a úsáid againn athchúrsach - nuair a dhéanann muid úsáid as lúb atriallach? Jason Hirschhorn: Cathain a úsáideann tú athchúrsach - mar sin níos ginearálta, an buntáistí agus na míbhuntáistí athchúrsáil i gcoinne cur chuige atriallach. An féidir le duine ar bith a thairiscint pro nó con? Le do thoil? Ní féidir aon duine. Cé atá in ann a thairiscint pro nó con? [PÁIPÉAR rustling] MAC LÉINN 1: Is athchúrsach níos lú códaithe - clóscríobh níos lú? Jason Hirschhorn: Mar sin, go ginearálta, athchúrsáil go háirithe, feidhm - nó algartaim mhaith chumasadh saghas - lena lends féin le cur chuige athchúrsach - d'fhéadfadh a bheith níos simplí chun cód hathchúrsach. Agus a dhéanamh díreach ciall níos mó é a dhéanamh go hathchúrsach. Mar sin, bheadh ​​a bheith ina pro athchúrsáil. Daoine eile? Yeah? MAC LÉINN 2: Con go recursion - Úsáideann sé cuimhne níos mó. Jason Hirschhorn: Mar sin, ceart go díreach. Beidh feidhm athchúrsach a choinneáil ag cur Stack frámaí leis an chairn. Mar sin, má tá tú ag feidhmiú ar a lán de na uimhreacha, agus tá a thabhairt ar an feidhmiú ar a lán, ansin beidh tú cinnte a chur suas níos mó cuimhne, cé go Beidh cur chuige atriallach a chur ach amháin Stack fráma ar an chairn, mar gheall ar tharlaíonn sé go léir laistigh feidhm amháin. Aon buntáistí agus na míbhuntáistí eile? Yeah. MAC LÉINN 3: Son le haghaidh athchúrsáil. Ní gá duit a chinneadh i chun cinn cé mhéad uair an Bhí cód a athdhéanamh. Is féidir leat a bheith roinnt réamhshocraithe de amanna go bhfuil tú a iterate, ansin Tá athchúrsáil níos fearr, mar gheall ar a thógann sé an toradh sin. Jason Hirschhorn: Sílim go bhfuil fíor. Ach is dóigh liom sa dá chás Ní ba mhaith leat - mbeadh tú a fháil ar dócha roinnt ionchur ón úsáideoir. Nó go mbeadh an fheidhm seo a bhfuil roinnt ionchur bheadh ​​a chinneadh cé mhéad uair sé ba chóir a reáchtáil. Mar sin, go ginearálta, nach mbeadh tú cód crua - fiú amháin i gcur chuige atriallach - conas Ba chóir mhéad uair go lúb a reáchtáil. An raibh tú eile a bhí tú ag smaoineamh faoi, Annie? OK. Mar sin, siúd is dócha go bhfuil an dá - an pro is mó agus is mó con le Athchúrsach i gcoinne cur chuige atriallach. OK. Rud ar bith eile ar Tráth na gCeist 0? A ligean ar bogadh ar aghaidh. Comhad I / O. Tá gearr iontach an tseachtain seo ar chomhad I / O go súil againn tú ag faire il amanna, agus meas. Go leor oibre chuaigh isteach, agus tá mé Chuala go bhfuil sé insanely cabhrach. Bhí mé chomh maith leis an nasc ar an sleamhnán, i gcás nach bhfuil tú go raibh deis chun féachaint air 10 uair. Mar sin, tá muid ag dul chun dul go hachomair thar an céimeanna móra a oscailt agus a oibriú le comhaid, agus ansin tá muid ag dul go dtí Léim isteach fadhb códú sula scrúdú a dhéanamh ar an leagan bhfadhb. Mar sin, arís, tá mé ag dul a chur ar an suas ar an scáileán, ach tá mé ag dul chun labhairt le haghaidh ach nóiméad faoi cad tá muid ag déanamh anseo le comhad I/O-- cad a chiallaíonn? Ciallaíonn sin gur féidir linn a chruthú ar ár cláir, agus ansin tá ár gcláir scoir, agus nach bhfuil déanta ar aon tionchar ar an domhan lasmuigh ar ár gclár. Ach nuair a thosaíonn muid ag obair le comhaid - araon iad a léamh i agus ag cruthú iad - is féidir linn a bhfuil roinnt éifeacht ar an domhan lasmuigh dár gclár. Díreach cosúil más rud é nach raibh Microsoft Word in ann a dhéanamh ar aon doiciméid Word, ansin uair amháin Microsoft Word éirí as an tobac, ar fad do Bheadh ​​an obair a bheith imithe, agus go mbeadh sé i ndáiríre useless. Deireadh thiar Nílimid ag iarraidh a bheith in ann cláir is féidir a théann i bhfeidhm scríobh an domhan thart timpeall orthu, araon ag cur i ionchuir casta - i dtéarmaí comhaid agus trí chomhaid, agus freisin a chruthú suimiúil agus láidre aschur - i dtéarmaí cineálacha éagsúla de chomhaid. Mar sin, is é sin an fáth go bhfuil muid ag tosú a foghlaim conas a bheith ag obair le comhaid. Go sonrach, cad a dhéanann muid é seo a leanas. Tá sé an-simplí. Níl ach cúpla céimeanna, agus tá siad liostaithe anseo ar an gcód seo. Mar sin, táimid ag dul chun dul tríd an líne cód le líne. Gcéad dul síos, a fheiceann tú chun suntais - nuair a bhíonn tú ag obair le comhaid, beag beann ar an gcineál comhaid go bhfuil sé, is gá duit a oscailt. Agus is é sin le glaoch chun fopen - ar dheis anseo. Áirítear tú ainm an chomhaid. Más rud é nach bhfuil an comhad i do eolaire, nó an fillteán ina gclár seo saol, ansin is gá duit chomh maith a chur san áireamh cosán don áit a mbeidh an comhad. Táimid ag dul chun glacadh leis go bhfuil an comhad a dtugtar "text.txt" - Is i an - doiciméad téacs simplí Is fillteán céanna leis an gclár seo. Mar sin, go bhfuil an rud eile a choinneáil i gcuimhne - go más mian leat comhad a oscailt áit éigin eile, is gá duit i ndáiríre a chur san áireamh ar a shuíomh. Dara, is féidir leat pas a fháil argóint a fopen, agus go cad ba mhaith leat a dhéanamh leis an gcomhad. Tá trí phríomh-argóintí go tú ag dul chun pas a fopen. Cé atá in ann a thabhairt dom na trí? Cé atá in ann a thabhairt dom ar cheann acu? Tá. LÉINN 4: An t-ainm comhaid? Jason Hirschhorn: Tá brón orm. Trí príomhargóintí is féidir leat pas a fháil mar an dara argóint a fopen. Tá an ceart agat - ainm an chomhaid is é an chéad argóint. Ach tá an dara argóint a fopen go ginearálta trí teaghráin, agus - yes. Aleja. ALEJA: A don fhoscríbhinn. Jason Hirschhorn: A, más mian leat a iarcheangal le comhad atá ann cheana féin. MAC LÉINN 5: R maidir le léamh. Jason Hirschhorn: R, má tá tú ag iarraidh a léamh ó chomhad. MAC LÉINN 6: W do scríobh. Jason Hirschhorn: Agus w, má tá tú ag iarraidh a scríobh chuig comhad. Mar sin, sa chás seo, tá muid ag scríobh chun an comhad, ionas go mbeidh muid w. A osclaíonn tú é, caithfidh tú freisin a shábháil ar an comhad éigin, agus go bhfuil an cód dtí an taobh na láimhe clé den an t-oibreoir taisc - Tá mé ag a chruthú pointeoir go comhad ar a dtugtar, sa chás seo, comhad. Nach bhfuil muid ag dul a bheith buartha cad Is é seo go léir caipíní rud COMHAD. Is leor a rá, tá sé fada sruth de nialais agus cinn. Agus cé go bhfuil muid ag dul go dtí a oibriú agus é a thuiscint. An chéad rud eile is gá dúinn a dhéanamh - agus Tá sé seo thar a bheith tábhachtach - nuair a osclaíonn tú comhad - i ndáiríre, aon uair a ghlaonn tú malloc, le haghaidh Mar shampla, agus a fháil ar roinnt cuimhne agus iarracht agus é a shábháil i pointeoir, tú i gcónaí ag iarraidh a sheiceáil chun a chinntiú go bhfuil Ní raibh feidhm ar ais null. Mar sin, sa chás seo, tá muid ag seiceáil a dhéanamh cinnte gur oscail muid i ndáiríre ar an comhad i gceart, agus bhí aon earráid i ár gclár. Next, nuair atá againn a sheiceáil chun a chinntiú go bhfuil muid comhad oibre, is féidir linn scríobh chuig, nó a léamh ó, nó iarcheangal leis an comhad. Sa chás seo, tá mé ag priontáil go simplí líne amháin chuig an gcomhad seo. Cén chaoi a fhios agam go bhfuil? Bhuel, tá mé ag baint úsáide fheidhm seo ar a dtugtar fprintf. Gach ceann de na feidhmeanna a bheidh tú ag úsáid nuair a scríobh chuig, nó a léamh ó, nó Beidh comhaid ionramháil a bheith cosúil leis feidhmeanna tú atá le feiceáil roimh, ach tús a chur leis an litir F, seasamh do chomhad. Agus fprintf, murab ionann agus ár cló gnáth app a thógann, argóint amháin breise, agus go bhfuil an comhad ina tú Ba mhaith an líne seo a phriontáil chun. Ní dóigh liom go bhfuil rud ar bith a an ceart ohai. Ní dóigh liom go bhfuil an tríú argóint a printf - nó an dara argóint a printf, an tríú argóint a fprintf, mar gheall mé nach bhfuil aon ionadchoinneálaithe anseo. Níl mé ag lena n-áirítear aon athróg. Ach arís, fprintf agus gach ceann de na comhaid feidhmeanna a fheidhmíonn le comhaid ag dul go ginearálta go bhfuil gá leis an gcomhad ar a bhfuil siad ag feidhmiú. Ar deireadh, an rud deireanach tábhachtach dhéanamh ná an comhad a dhúnadh, díreach cosúil le - aon uair a malloc muid rud éigin, ba mhaith linn rud éigin saor in aisce, lest muid Tá sceitheadh ​​cuimhne - ba mhaith linn a dhúnadh ár comhad. Má sendmail an clár seo gan deiridh an comhad, tá odds go mbeadh rud ar bith a théann mícheart, go háirithe má tá sé Bhí comhad beag. Ach tá sé cinnte stíl códú dea- agus cleachtas a dhúnadh i gcónaí do chomhad nuair a bhíonn tú críochnaithe ag baint úsáide air. Mar sin, is é sin an Basics comhaid agam / O. Tá tú le feiceáil dócha go roimh, nó faire sé sa ghearr iontach. An bhfuil aon cheist aon duine, sula théann muid isteach roinnt códú gcleachtas fadhbanna, mar gheall ar an comhad I / O nó an céimeanna Chuaigh mé díreach os cionn? [Clóscríobh Fuaimeanna] Jason Hirschhorn: An bhfuil tú tá ceist agat, Avi? AVI: Uimh Jason Hirschhorn: OK. Tá mé ag dul chun fanacht eile seacht soicind. [Laughs] Sin tip gur maith. Tú guys nach bhfuil díreach cosúil ceisteanna a chur. Sin breá. OK. Mar sin, is é ár n-chéad fhadhb gcleachtas, go bhfuil muid ag dul a dhúbailt an fheidhm uirlis-orduithe go bhfuil tú is dócha úsáid roimh - cóip - an uirlis cóip. Má chlóscríobhann tú cp agus ansin pas a fháil sé dhá argóintí i do críochfoirt, is féidir leat a chóipeáil comhad. Agus is é sin an méid a bhfuil muid ag dul a scríobh ceart anois. Mar sin, arís, a léamh amach an sleamhnán, ba mhaith liom tú a scríobh le clár a thógann dhá agus ní raibh ach dhá ordú-líne argóintí - comhad foinse agus comhad scríbe - agus cóipeanna an ábhar ar an fhoinse comhad chun an comhad scríbe beart amháin ag an am. Mar sin, go bhfuil go leor a iarraidh le haghaidh. Arís, is é cur chuige maith leis sin a ní théann díreach go dtí an cód C, ach é a bhriseadh síos i cúpla céimeanna. Gcéad dul síos, smaoineamh ar an loighic - go díreach cad tá mé ag iarraidh ort a dhéanamh - agus a thuiscint gach ceann de na céimeanna chun an fhadhb seo. Ní i C, ach i roinnt pseudocode, nó fiú múnla mheabhrach cad atá ar siúl. Next, nuair a bhíonn tú ar an pseudocode síos, figiúr amach conas an pseudocode léarscáileanna ar uirlisí agus rudaí atá déanta againn foghlamtha a úsáid i C. Agus ar deireadh, nuair a bhíonn tú go léir go le chéile, is féidir leat cód an bhfadhb. Tóg 5 go 10 nóiméad chun ag obair ar an bhfadhb. Feicfidh mé a chur ar na treoracha ar ais ar bun sa dara. Agus ansin tá muid ag dul chun dul thar an pseudocode, agus cód sé beo mar ghrúpa. Má tá aon cheist agat cé go bhfuil tú ag obair ar an, glaoch a ardú do lámh, agus beidh mé ag teacht thart agus iad a fhreagairt. MAC LÉINN 7: An féidir liom swipe píosa páipéir? Jason Hirschhorn: Cad atá suas? [Clóscríobh Fuaimeanna] Jason Hirschhorn: OK. A ligean ar dul thar an pseudocode ar dtús, agus ansin beidh mé a thabhairt duit cúpla níos mó nóiméad a chríochnú códaithe. Cé a ba mhaith leat a thosú dom amach leis an chéad líne pseudocode don fheidhm seo? MAC LÉINN 8: Seiceáil a dhéanamh cinnte go tugadh duit dhá chomhad. Jason Hirschhorn: OK. Agus más rud é nach bhfuil muid? MAC LÉINN 8: Ba mhaith liom a thabhairt ar ais 0. Jason Hirschhorn: Ar chóir dúinn ar ais 0? MAC LÉINN 8: Fill ar ais go - blanking. Tá brón orm. Jason Hirschhorn: Yeah. Is dócha nach 0. Toisc 0 ciallaíonn raibh gach rud go maith. OK. Mar sin, go bhfuil an chéad líne de pseudocode. Cé go bhfuil an dara líne pseudocode? MAC LÉINN 9: Oscailte araon na comhaid? Jason Hirschhorn: Oscail an dá comhaid. OK? MAC LÉINN 10: Seiceáil a fheiceáil má tá an comhad NULLComment? Jason Hirschhorn: Seiceáil a dhéanamh cinnte nach bhfuil an Feisire NULLComment. Mar leataobh - Slais 0 - is é sin NULLComment? MAC LÉINN 11: Níl Jason Hirschhorn: Ní sin NULLComment. Is é sin ar a dtugtar an Críochnaitheoir NULLComment. Tá sé litrithe i ndáiríre ach amháin l. Mar sin, seiceáil rud éigin i gcoinne sin - go bhfuil iarbhír carachtar - mar sin seiceáil rud éigin i gcoinne go bhfuil ní mar seiceáil a fheiceáil mar an gcéanna má tá sé is ionann NULLComment. Agus roinnt daoine - ar a n-tráth na gceist agus a n-fhadhb Leagann - fuair an dhá cheann de na mearbhall. Ach tá an dá de na i ndáiríre éagsúla. Críochnaíonn amháin teaghrán - tá sé ar cheann pointeoir 0. MAC LÉINN 12: Cén fáth go mbeadh nach bhfuil tú ag seiceáil a déan cinnte go nach bhfuil na comhaid NULLComment roimh oscailt tú iad? Sábhálann Mar sin oscailte: JASON Hirschhorn rud éigin sa chomhad. Agus má théann tú ar ais anseo - mar sin an líne seo - fopen - Beidh a thabhairt duit seoladh agus a stóráil seoladh sin i gcomhad má oibríonn sé. Más rud é nach n-oibríonn sé, sí Beidh stóráil NULLComment - MAC LÉINN 12: Ó. OK. Got tú. Jason Hirschhorn: I gcomhad. Mar sin, ní féidir leat a sheiceáil le haghaidh NULLComment roimh atá tú d'oscail iad. Ciallaíonn NULLComment rud éigin nach raibh ag obair i gceart. OK. Mar sin, seiceáil a dhéanamh cinnte nach é? Nó is? Cad é dar linn? Beidh muid ag dul leis sin. MAC LÉINN 13: An bhfuil. Jason Hirschhorn: An bhfuil? Ní Is é? MAC LÉINN 13: An bhfuil. Jason Hirschhorn: OK. Is cosúil go againn go bhfuil roinnt comhaontú ar sin. Ní Is NULLComment. OK, an chéad líne eile de pseudocode. Nach bhfuil tugtha dom líne go fóill? Beidh muid ag fanacht ar do shon. Yeah. MAC LÉINN 14: Tá tú a léamh as an chéad chomhad? Jason Hirschhorn: OK. MAC LÉINN 14: Nó úsáid againn fscanf nó rud éigin mar sin an chéad chomhad? Jason Hirschhorn: Mar sin, ba mhaith linn a léamh as an chéad chomhad agus - a ligean ar chur ceart sin anseo. Léigh an comhad foinse. Agus ansin, cad a dhéanaimid tar éis dúinn léamh as an comhad foinse? Duine éigin eile? MAC LÉINN 15: Scríobh isteach an comhad scríbe? Jason Hirschhorn: scríobh againn an comhad scríbe, agus - OK. Céard eile atá ar iarraidh againn? Somebody eile nach bhfuil tugtha dom líne de chód fóill - an pseudocode. Yeah. MAC LÉINN 16: B'fhéidir gur féidir leat seiceáil i gcónaí cibé an bhfuil rud éigin a léamh do, cosúil leis an chéad líne eile? Go bhfuil cosúil leis an chéad líne eile, fheiceáil má tá sé ann. [Bíp LEICTREONACH] Jason Hirschhorn: Oops. Sin mo bogearraí journaling. Yeah? MAC LÉINN 16: Yeah. Jason Hirschhorn: Mar sin, a thabhairt sé dom amháin níos mó ama. MAC LÉINN 16: Seiceáil cibé an bhfuil fós chéad líne eile ón foinse comhad a léamh. Jason Hirschhorn: OK. Mar sin, ní táimid ag línte ag léamh - Cuireadh beart léamh anseo - ach tá tú i gceart. Is mian linn a léamh agus a scríobh go dtí go nach bhfuil aon níos mó bytes. OK. Agus mar sin ba chóir iad seo a bheith i ndáiríre bearnach le beagán, toisc go bhfuil siad faoi ann. Ceart? Go dtí go bhfuil muid amach bearta, táimid ag dul chun léamh as an comhad foinse agus scríobh chun an comhad scríbe. Agus ansin, cad é an ceann deireanach líne pseudocode? D'iarr duine éigin nach bhfuil a thabhairt dom rud éigin go fóill. MAC LÉINN 17: Dún na comhaid? Jason Hirschhorn: Go díreach. Dún na comhaid. Mar sin, níl ár pseudocode. Tá mé ag dul a chur ar an pseudocode isteach gedit, agus i gceann cúpla nóiméad againn Beidh sé seo cód an chéile. OK. Lig dúinn tús a chur mar ghrúpa. Nishant, tá mé mo chomhad nua. Tá mé oscail díreach seo suas. Doiciméad Untitled 1. Cad é an chéad rud ba chóir dom a dhéanamh? Nishant: Cuir leabharlanna? Jason Hirschhorn: OK. Cad iad na leabharlanna? Nishant: Stdio.h, stdlib.h, creidim? Jason Hirschhorn: OK. Cad é stdlib do? Nishant: Rinne mé dearmad. Jason Hirschhorn: OK. Mar sin, san áireamh stdio. Cad ba chóir dom a dhéanamh fiú sula Tosóidh mé códaithe? Nishant: Scríobh header? Jason Hirschhorn: Cén chaoi a is féidir liom a fháil daite é? [GUTH interposing] Nishant: Conas a théann tú é a daite? Jason Hirschhorn: Cén chaoi a is féidir liom a dhathú códaithe? Nishant: Níl a fhios agam. Ó. Sábháil. Jason Hirschhorn: Sábháil. Tá. Ba chóir dom a shábháil mar. C. Mar sin, é a shábháil ar an deasc mar cp.c. Sweet. Agus más mian liom a fháil stíl iomlán pointí, ba chóir cad mé Áirítear ar an mbarr? Nishant: D'fhéadfá a scríobh d'ainm, ainm an chláir, agus an cuspóir an chláir chomh maith? Jason Hirschhorn: Breathnaíonn go maith. Scoth. Mar sin, tá tú thosaigh dúinn amach breá. I measc na # - beidh orainn scríobh freisin - OK. Mar sin, I mo thuairimse, tá mé go léir a leagtar chun dul. Cé go bhfuil an chéad líne de chód dom - nó an chéad línte de chód gur Beidh sé a shásamh ár gcéad trácht i pseudocode? Tú. MAC LÉINN 18: Níor chóir go mbeadh sé slánuimhir argc, agus ansin an ruabhric * ARGV? Jason Hirschhorn: I mo thuairimse, tá an ceart agat. A ligean ar é a athrú a slánuimhir is mó, paren oscailte, argc slánuimhir, camóg, ruabhric * ARGV? Cosúil le go? MAC LÉINN 18: Lúibíní. Jason Hirschhorn: Lúibíní. Lúibín Oscailte, lúibín gar, tuismitheoir dhúnadh. Foirfe. Anois is féidir liom a ghlacadh argóintí ordú-líne. OK. A chinntiú táimid ag tugtha dhá chomhad. Is féidir leat a thabhairt dom, chomh maith. MAC LÉINN 18: Má argc - Ní dhéanann an gceann cothrom le 3. Jason Hirschhorn: Má paren oscailte Ní argc comhionann 3? MAC LÉINN 18: Yeah, ar ais tú 1 nó rud ar bith. Jason Hirschhorn: Tá brón orm. MAC LÉINN 18: Tuairisceán 1 nó rud ar bith. Jason Hirschhorn: Fill ar ais 1. OK? Breataine. Oscail an dá comhaid. Cé atá in ann cabhrú liom a oscailt dá chomhad? Nach bhfuil tugtha dom Cód fóill? Kurt? KURT: Mar sin, gach caipíní foinse F-I-L-E réalta. Jason Hirschhorn: Tá mé ag dul a thógáil amach na gutaí. Glacfar iad fionnuar. Tá sé cosúil sa saol. MAC LÉINN 18: Chomhionannais fopen - Jason Hirschhorn: Chomhionannais fopen? MAC LÉINN 18: paren Oscailte, ARGV, lúibín oscailte. Jason Hirschhorn: Fan. Tá brón orm. Paren Oscailte. OK. MAC LÉINN 18: Yeah. ARGV fo 1. Jason Hirschhorn: Fo 1? MAC LÉINN 18: Yeah. ARGV scriosaidh oscailte 1 - yes. Agus ansin camóga, agus ansin oscailte dúbailte ceanglófar, r, ceanglófar dúbailte, paren dhúnadh, Leathstad. Jason Hirschhorn: Sweet. Agus cad mar gheall ar an ceann eile? MAC LÉINN 18: An-chosúil, ach ina ionad sin S-R-C, gur mhaith leat a ghlaoch air D-S-T. Jason Hirschhorn: Oo! Is maith liom go bhfuil. MAC LÉINN 18: Just a D-S-T. Yeah. Agus ansin ARGV, lúibín oscailte, 2. Yeah. Agus ansin w ionad r. Yeah. Jason Hirschhorn: Breataine. Cúpla Aghaidh na línte. Chomh maith leis sin, má tá aon duine rudaí a chur le línte go atá déanta againn, dar saor chun cuir sin chomh maith. Seiceáil a dhéanamh cinnte go bhfuil ceachtar NULLComment. Cé atá in ann a thabhairt dom an cód is gá dom a a shásamh go bhfuil líne pseudocode? Archer. ARCHER: Más ionann src ionann NULLComment nó cothrom le DST ionann NULLComment, ansin tú ar ais - Jason Hirschhorn: Cad é? ARCHER: Filleadh 2? Jason Hirschhorn: Fill ar ais 2. Mar sin, más ionann src paren oscailte ionann NULLComment, nó - is cuma cad a thing's - píopa? Píob? Beidh muid a ghlaoch air píopa. Ionann Píob, píopa, DST ionann NULLComment, ar ais 2. OK? Go dtí go bhfuil muid amach as bytes - táimid saghas ndearna os cionn an chéim ó an chuid pseudocode a dul a anseo. Ach go dtí go bhfuil muid amach ar beart - cad a dhéanann an fhuaim cosúil? Cén cineál struchtúir C - ach ní féidir liom a bhaint as an struchtúr focal, toisc go bhfuil muid ag dul chun tús a úsáid a bhaint as gur i gcásanna eile - ach ní C uirlis fuaime mhaith? MAC LÉINN 19: A lúb. Jason Hirschhorn: A lúb. Fuaimeanna cosúil le lúb. Mar sin, is féidir a thabhairt dom an chéad líne de chód lúb ar dheis anseo? Is féidir leat a roghnú freisin cén cineál lúb is mian leat, má thugann tú dom líne seo de chód. Tá trí chineál. A gheobhaidh tú a phiocadh. Ba mhaith liom a mholadh ar cheann de na. Avi. Cé acu ceann atá uait? AVI: DO. Jason Hirschhorn: DO. AVI: int cothrom i nialas. Jason Hirschhorn: OK. AVI: an chuid Níl mé cinnte faoi. Ach tá mé níos lú ná méid foinse réalta? Níl mé cinnte de sin. Jason Hirschhorn: OK. AVI: Mar is mian leat ar an méid comhaid, ceart? Jason Hirschhorn: Mar sin, seo is dócha nach a thabhairt dúinn an méid de na iarbhír comhad i mbearta. Mar sin, cad eile a d'fhéadfadh muid a dhéanamh? Cad é cineál eile lúb? Nó ba chóir dúinn bata leis an lúb DO? MAC LÉINN 20: An bhféadfadh a dhéanann tú lúb Cé go? Agus ansin, cad ba mhaith leat a dhéanamh ná you'd - toisc go bhfuil muid * ruabhric le haghaidh an comhad. Mar sin, má táimid a choinneáil ach incriminteach go go dtí gur mhaith linn teacht ar an carachtar NULLComment ag an deireadh é? Nó aon bhfuil, nach conas a oibríonn comhaid? Jason Hirschhorn: Mar sin, is féidir linn a choinneáil incriminteach an ruabhreac * go dtí go bhfaighidh muid an NULLComment - MAC LÉINN 20: a choinneáil ag dul bunúsach carachtar le carachtar go dtí go bhuail muid an deireadh an chomhaid. Jason Hirschhorn: Is ea. Mar sin, go bhfuil an méid ba mhaith linn a dhéanamh. Ba mhaith linn a choinneáil léamh, carachtar le carachtar, go dtí go bhfaigheann muid go dtí an deireadh an chomhaid. MAC LÉINN 20: Yeah. Aimsigh - cad é an deireadh nó comhartha stad ag deireadh na gcomhad téacs. Jason Hirschhorn: OK. Mar sin, nuair a fhaigheann muid go dtí an deireadh an chomhaid - conas a bhfuil a fhios againn againn bainte amach an deireadh an comhad? Má tá mé ag glaoch - mar sin a ligean ar céim siar. Cad é feidhm? A ligean ar dul go dtí an líne seo ar dheis anseo. Léigh an comhad foinse. Cé atá in ann a thabhairt dom go líne de chód? MAC LÉINN 21: Fscanf? Jason Hirschhorn: Fscanf. OK. Cad a tharlaíonn má ba mhaith liom a léamh, an- go sonrach, beart amháin? MAC LÉINN 21: Níl a fhios agam. Jason Hirschhorn: OK. Fiú níos simplí ná fscanf - cad é a - Ba mhaith liom a léamh ó comhad foinse? Léigh ó comhad foinse. Cad é feidhm - yera yeah. MAC LÉINN 22: Tá sé fread? Jason Hirschhorn: Fread. I mo thuairimse, a ligean ar bata le go ceann do anois. Cén cineál argóintí Ní fread a ghlacadh? MAC LÉINN 22: Is dócha an cineál comhaid, agus ansin suíomh sa chomhad? Jason Hirschhorn: Cad is féidir liom a chlóscríobh anseo chun an figiúr amach cén cineál argóintí fread Bíonn? MIC LÉINN MULTIPLE: Man fread. Jason Hirschhorn: Man fread agus fwrite. Breathnaíonn mhaith siad hang amach le chéile. Mar sin, a thógann fread cé mhéad argóintí? MAC LÉINN 23: Ceithre. Jason Hirschhorn: Bíonn sé ceithre argóintí. Bíonn sé pointeoir, méid, agus go rud, atá aisteach, agus roinnt comhad. OK? A ligean ar a léamh faoi sé ceart anseo. "Léann an fread fheidhm n MBALL eilimintí de na sonraí, le gach beart méid fada, as an sruth aird ag sruth, iad a stóráil ag an suíomh a thug pointeoir. " Mar sin, ceithre argóintí. Cén fáth nach bhfuil a chóipeáil mé díreach tar éis seo, agus greamaigh sé ceart anseo. OK. Mar sin, ar féidir leo tús a líonadh amach na hargóintí seo dom? Avi. AVI: Tóg amach an neamhní. Cuir ach src. Tóg amach pointeoir agus an réalta. Cuir src. Ansin - Jason Hirschhorn: Mar sin, tá mé ag dul chun stop a chur tú ann, toisc go bhfuil mícheart. Tá an ceart agat le src, ach áit ar cheart dul src? [GUTH interposing] Jason Hirschhorn: Ba chóir sé dul thar anseo. Sin an src - is é ár src cineál. A ligean ar breathnú anseo. Tá sé seo ag iarraidh le haghaidh cineáil COMHAD *, táimid ag i ndáiríre a fheiceáil de ghnáth iad mar sin. Mar sin, tá sé seo ag iarraidh argóint de cineál COMHAD * ar a dtugtar sruth go bhfuil src. OK? Cén méid de na rudaí a dhéanamh ba mhaith linn a léamh? Thug mé tú é seo ar an fhadhb tuairisc. MAC LÉINN 24: beart amháin ag an am. Jason Hirschhorn: beart amháin. Cé chomh mór is beart? Is é an mhéid, i mbearta, mar sin cad Is féidir liom a chur ceart ann? MAC LÉINN 25: Ceann. Jason Hirschhorn: Ceann. Ceart. Is é an méid i beart aonad, mar sin tá 1 1 beart. Cé mhéad is féidir liom ag iarraidh a léamh ag an am. MAC LÉINN 26: a hAon? Jason Hirschhorn: Rud amháin. Ba mhaith liom a léamh ach rud amháin ar mhéid 1, greim amháin ag an am. Agus nuair a dhéanann chuir mé é, nuair a léigh mé é? MAC LÉINN 27: Ceann Scríbe? Jason Hirschhorn: Mar sin, ní féidir liom a chur sé díreach isteach scríbe. MAC LÉINN 28: Tá tú ag dul a chur sé isteach an tríú pointeoir? MAC LÉINN 27: Chun an gceann scríbe. Jason Hirschhorn: OK. Yeah. MAC LÉINN 29: Is féidir leat rud éigin a dhearbhú go gníomhú mar stórála sealadaí níos luaithe. Jason Hirschhorn: OK. Tabhair dom go. MAC LÉINN 29: comhad eile pointeoir, b'fhéidir? Jason Hirschhorn: OK. Mar sin, is é an réalta ar neamhní - tá sé ina chineál ar neamhní réalta, mar sin ní dhéanann sé a bheith ina pointeoir comhad. Agus má tá mé ag léamh bheart amháin, i gcás ina mbeadh a bheith ina áit mhaith a stóráil beart amháin? MAC LÉINN 29: Tá eagar? Jason Hirschhorn: Tá eagar. OK. Agus cad eile atá rud éigin go bhfuil ach Size beart amháin? MAC LÉINN 30: A Char *? MAC LÉINN 29: Yeah. Jason Hirschhorn: A ruabhreac * Ní beart amháin. MAC LÉINN 29: A Char. Jason Hirschhorn: Tá Char beart amháin. Ceart? Mar sin, a ligean ar glaoch ar an Maolán is cineálach ainm a úsáidtear le haghaidh na rudaí seo a stóráil rud éigin go sealadach. Mar sin, a chruthú mé maolán. Ceart? Ach a thógann sé ar neamhní *. Mar sin, b'fhéidir go bhfuil tú ceart, go bhfuil sé Ba chóir go mbeadh maolánach de mhéid 0. Mar sin, siopaí sé ar cheann - ceart. Mar gheall ar seo ar dheis anseo - ruabhreac Is Maolán carachtar, ach Bíonn sé seo ar neamhní * - pointeoir. Mar sin raibh mé in ann é seo a dhéanamh agus anois Is Maolán pointeoir. Cad eile a raibh mé in ann a dhéanamh? MAC LÉINN 31: Cuir réalta in aice leis ruabhric. Jason Hirschhorn: Éirne mé tar éis a cruthaíodh é ruabhric *. OK. Cad é an rud eile a d'fhéadfadh liom a dhéanamh? Nó a ligean ar dul leis an gceann seo. Char * Maolán, mar sin cad féidir liom a chur i anseo? MAC LÉINN 31: Mhaoláin. Jason Hirschhorn: Mhaoláin. Is Mhaoláin pointeoir le Char. Agus sa suíomh, tá muid ag cur beart amháin de rud éigin mé a léamh againn. Yeah. Avi. AVI: Just a ceist mear. Ar mhaith leat maolán a malloc? Jason Hirschhorn: Cé is féidir freagra na ceiste sin? MAC LÉINN 32: Bhuel, ní dhéanann sé i ndáiríre pointe le rud ar bith ceart anois, mar sin - Jason Hirschhorn: Ach an bhfuil ba mhaith linn a malloc é? MAC LÉINN 32: Má bhí tú a dhéanamh go bhealach, buille faoi thuairim mé, yeah, toisc gur mhaith de dhíth ort áit éigin chun é a chur in iúl. Jason Hirschhorn: An bhfuil muid a malloc é? MAC LÉINN 33: Má tá tú ag dul chun é a úsáid taobh amuigh de na lúb. Jason Hirschhorn: An bhfuil muid ag dul chun é a úsáid taobh amuigh den lúb? MAC LÉINN 34: Is ea. MAC LÉINN 35: Fan. An bhfuil ba mhaith linn a dhearbhú go i lúb níos faide? Jason Hirschhorn: Mar sin, buille faoi thuairim mé ní mór dúinn roinnt lúb LINN pseudo anseo go bhfuil muid ag iarraidh a figiúr amach, go Ní mór dúinn gotten a fós. Ní gá a malloc é. Táimid ag feidhmiú i is mó, tá sé ag dul ach a bheidh le húsáid taobh istigh an lúb. Ní chuireann sé gá a bheith ann lasmuigh den. Mar sin, is féidir é a bheith ina athróg áitiúil. Tá tú pointeoir a athróg áitiúil. MAC LÉINN 36: Ach nach bhfuil sé dírithe ar rud ar bith. Jason Hirschhorn: No, nach bhfuil sé initialized le rud ar bith. Ach ní táimid ag dul chun é a úsáid chomh maith. Táimid ag dul chun rud éigin a chur i é an chéad uair a úsáidimid é. Mar sin, is cosúil go bhfuil ceart go leor. Mar sin, ní mór dúinn malloc anseo. Agus Sílim go bhfuil sé ceart go leor mar atá. OK. Tá an líne a fread. A ligean ar a dhéanamh ar an chéad líne eile. Más mian linn a scríobh chuig comhad, cad é feidhm mhaith a úsáid chun é sin a dhéanamh? MAC LÉINN 37: Fwrite? MAC LÉINN 38: fprintf? Jason Hirschhorn: Tá fprintf amháin. Cad é ceann eile? MAC LÉINN 39: Fwrite. Jason Hirschhorn: Fwrite. Agus dár gcríoch sin, fwrite, a chonaic muid anseo, dócha an rogha is fearr. Bíonn sé ceithre argóintí chomh maith. Nishant, is féidir leat a thabhairt dom na hargóintí? Nishant: an chéad cheann ar siúl go leanúnach a bheith díreach Maolán. Jason Hirschhorn: OK. Nishant: An ceann an dara ar ach ag dul a bheith 1. Tríú amháin ag dul a bheith 1. Agus is é an ceathrú ceann ag dul a bheith DST. Jason Hirschhorn: An bhfuil duine ar bith a bheith aon cheist agat faoi an líne sin? Go Breathnaíonn go maith. OK. Mar sin, anois tá sé cosúil leis an rud amháin go bhfuil muid ar iarraidh - i ndáiríre, a ligean ar scríobh an líne seo caite. Dún na comhaid. Cé atá i dteideal a chríochnú dúinn suas scríbhinn dá líne dheireanacha? Tá. Tá brón orainn, cad is ainm duit? LUCY: Lucy. Jason Hirschhorn: Lucy. LUCY: src Fclose agus ansin scríbe fclose. Jason Hirschhorn: Fclose, paren oscailte, src, paren dhúnadh, Leathstad. Agus fclose - yera yeah? LUCY: lúibíní Oscailte, DST agus ansin Leathstad. Jason Hirschhorn: Breataine. Agus cad ba chóir dom san áireamh ag an deireadh? LUCY: Filleadh 0. Jason Hirschhorn: Filleadh 0. An gcaithfidh mé a? Just a ceist. An bhfuil muid a chur san áireamh ar ais 0? MIC LÉINN MULTIPLE: Níl Jason Hirschhorn: Uimh Príomh dhéanann sé go huathoibríoch má fhaigheann tú go dtí an deireadh. Ach is dóigh liom tá sé deas go Áirítear air follasach. Go háirithe nuair a bhíonn muid ag filleadh eile rudaí ar fud an chláir. OK. Is é seo cad tá muid ag iarraidh - Cé go cad é? Cé atá in ann smaoineamh ar roinnt - Tá roinnt tuiscint ar cad iad na rudaí D'fhéadfadh dul i ann? Fiú má tá sé ach i roinnt pseudocode cosúil le teanga? Cad atá againn i ndáiríre - cad bhfuil muid ag iarraidh dul go dtí? Yeah, Lucy. LUCY: An deireadh comhaid. Jason Hirschhorn: An deireadh comhaid. Mar sin, cad a dhéanann tú faoi dheireadh comhaid? LUCY: Nuair a shroicheann tú an deireadh an chomhaid, stad. Jason Hirschhorn: OK. Mar sin, nuair a shroicheann muid deireadh an chomhaid. Cén chaoi a bhfuil a fhios againn nuair a tá bainte amach againn an deireadh an chomhaid? MAC LÉINN 40: I mo thuairimse, Maolán Beidh a shocrú chun NULLComment. MAC LÉINN 41: Tá Mhaoláin dhearbhú taobh istigh den lúb. Jason Hirschhorn: Mar sin, a cheapann tú Beidh maolán a shocrú chun NULLComment. Cén fáth a mbeadh maolán a shocrú chun null? MAC LÉINN 40: Toisc nuair a dhéanann tú fread, tá tú ag iarraidh a chur rud ar bith i maolán. Jason Hirschhorn: OK. Mar sin, tá tú ag smaoineamh fread - nuair atá sroichte againn faoi dheireadh na comhad, cad é fread ag dul a dhéanamh? Sílim go bhfuil an cheist ní mór dúinn a figiúr amach. Cad a dhéanann fread a dhéanamh? An bhfuil a chur NULLComment i Maolán, nó a dhéanann sé rud éigin eile? Conas is féidir linn an figiúr amach cad a dhéanann sé? MAC LÉINN 42: Man. Jason Hirschhorn: Man. Mar sin, a ligean ar breathnú thar anseo. Luach ar ais. Ar rath, fread agus fwrite ar ais an líon na n-ítimí a léamh nó scríofa. Ionann an uimhir seo líon na mbeart aistrithe amháin nuair a bhíonn méid 1. Má tharlaíonn earráid, nó deireadh an Tá comhad bainte amach, is é an luach ar ais ar líon na ítim ghearrthéarma nó 0. Mar sin, dár gcuspóirí, má sroicheann fread an deireadh an chomhaid, agus léann ó deireadh comhaid, níl rud ar bith fágtha a léamh, cad tá sé ag dul a thabhairt ar ais? MAC LÉINN 43: nialais? Jason Hirschhorn: Cad é? MAC LÉINN 43: nialais? Jason Hirschhorn: nialais. Tá sé ag dul a thabhairt ar ais nialas. Mar sin, tá a fhios againn go bhfuil fread, nuair a tá muid shroich an deireadh an chomhaid, ag dul a thabhairt ar ais nialas. Conas is féidir linn a úsáid go dtí ár n-bhuntáiste? AVI: Is féidir leat a dhearbhú athróg lasmuigh an lúb ar a dtugtar sheiceáil. Más ionann seiceáil - do anois - ceann amháin. Jason Hirschhorn: OK. AVI: Agus ansin is féidir leat a chur ar MÁ ráiteas ceart tar éis fread rá má fread cothrom le náid - uimh. Jason Hirschhorn: Cé Is féidir le cabhrú le Avi amach? AVI: Cad é an luach ais fread? Jason Hirschhorn: againn ach Chuaigh thar sin. AVI: Conas a dhéanann tú é a léiriú? Jason Hirschhorn: Mar sin, tuairisceáin sé - a ligean ar breathnú suas anseo - tuairisceáin sé ina size_t, atá go bunúsach slánuimhir. Mar sin, tuairisceáin sé slánuimhir. Agus i ár gcás, beidh sé ar ais 1 nó 0 - 1 má léigh sé rud amháin - beart amháin, agus 0 má rinne muid tagtha go deireadh. Mar sin, má fread - yera yeah? MAC LÉINN 45: Ní féidir leat a chur díreach an iomlán fread (Maolán, 1, 1, src) isteach sa cé lúb? Jason Hirschhorn: Mar sin, i gceist agat é seo a dhéanamh i ann? [GUTH interposing] Jason Hirschhorn: Coinnigh ar. Mar sin, tá muid ag ridding sin. Mar sin, tá tú ag moladh a chur fread isteach ann? Cad ba cheart dúinn bogadh chomh maith más mian leat é sin a dhéanamh? MAC LÉINN 45: An maolán lasmuigh. Jason Hirschhorn: Ba chóir dúinn freisin bogadh seo amach anseo. MAC LÉINN 45: Ach ní i gcónaí go bhogadh ar aghaidh? [GUTH interposing] Jason Hirschhorn: OK. Mar sin, is é seo cad a mhol Okshar. Chruthú ár maolán. Táimid fread LINN, ansin fwrite againn. Smaointe ar seo? Is é mo cheist amháin, bheadh: LÉINN 46 sí i gcrích i ndáiríre an fread ordú? Jason Hirschhorn: ceist Mhór. Nuair a bhíonn tú a chur glao feidhm taobh istigh de choinníoll a dhéanann, go glaoch fheidhm a fhorghníomhú? Táimid tar éis samplaí de seo le feiceáil roimh. Ceart? MAC LÉINN 46: OK. Yeah. Mar sin, a dhéanann sé a fhorghníomhú. Jason Hirschhorn: Táimid iontach rudaí le feiceáil mar sin roimh, i gcás ina ní mór dúinn a glaoch feidhm taobh istigh de riocht. An bhfuil glaoch fheidhm a fhorghníomhú? Tá. Mar sin, is é an freagra yes. Beidh sé seo glao fheidhm a fhorghníomhú. Ach arís, tá sé cad ba mhaith linn? Cad é bealach amháin gur féidir linn an figiúr amach má tá sé cad ba mhaith linn? MIC LÉINN MULTIPLE: Rith sé? Jason Hirschhorn: D'fhéadfadh muid a rith sé. Ach sula dhéanaimid sin, d'fhéadfadh muid chomh maith réasúnú tríd an. Má - rá ní mór dúinn beart amháin inár comhad, beidh orainn a fháil go dtí anseo, beidh orainn a fháil leis an gcód seo. Beidh sé seo ar siúl. fread Cuirfear ar ais beart amháin agus cuir é sa mhaolán. Agus beidh sé seo a mheas go 1, ceart, tar éis tuairisceáin sé 1. Mar sin LINN 1. Chiallaíonn an cód an taobh istigh Beidh an lúb Cé go fhorghníomhú? MAC LÉINN 47: Yeah. Tá sé fíor. Jason Hirschhorn: Is ea. 1 Is fíor. Níl sé 0. Mar sin, beidh an cód taobh istigh anseo fhorghníomhú. Mar sin, beidh muid ag scríobh go. Beidh muid bogadh ar ais go dtí seo líne arís. Anois, tá muid - táimid ag an deireadh ár chomhad. Léimid ó dheireadh ár comhad, toisc go raibh againn ach beart amháin ann. Tuairisceáin Fread 0, siopaí rud éigin i maolán. Ní go hionraic a fhios agam cad siopaí sé i maolán. D'fhéadfadh muid a breathnú suas is dócha a fheiceáil cad a dhéanann sé. Ní go hionraic a fhios agam. Níl a fhios againn, a cares cad a siopaí sé i maolán? Ach a dhéanann sé ar ais 0. Agus beidh cé 0 fhorghníomhú? Cé go Ní bheidh 0 fhorghníomhú. Mar sin, ansin beidh muid ag bogadh síos anseo. Mar sin, a ligean ar a fháil ar thaispeáint lámh más rud é seo Is é an cód chóir dúinn a rith, nó má táimid Ba chóir athruithe a dhéanamh ar dtús. Mar sin, má cheapann tú - tá tú chun vóta a chaitheamh. Má cheapann tú gur chóir dúinn a reáchtáil an gcód seo mar atá, ardaigh do lámh. OK. Níl aon - bhfuil ceist agat, imní? Yeah. MAC LÉINN 48: Tar éis dúinn bogadh Maolán lasmuigh den lúb, a dhéanann muid a malloc é? Jason Hirschhorn: ceist Mhór. Tar éis sinn ag Maolán lasmuigh den lúb, a bhfuil muid a malloc é? Is ceist raon feidhme. Má thúsú againn Maolán lasmuigh an lúb, beidh sé ann taobh istigh de na lúb? MIC LÉINN MULTIPLE: Is ea. Jason Hirschhorn: Is ea. Clúdaíonn a raon feidhme taobh istigh de na lúb, agus, i ndáiríre, rud ar bith faoi bhun sé taobh istigh an cód, lena n-áirítear an rudaí taobh istigh anseo. Mar sin, ní mór dúinn a malloc é. Tá sé athróg áitiúil, agus a raon feidhme Áirítear fós ar an lúb. MAC LÉINN 49: An bhfuil gá dúinn go saor in aisce é? Jason Hirschhorn: An bhfuil muid Ní mór go maolán saor in aisce? MAC LÉINN 49: Yeah, más rud é nach bhfuil muid malloc. Jason Hirschhorn: An bhfuil muid Ní mór go maolán saor in aisce? Ní Déanann muid. Arís, tá sé athróg áitiúil, mar sin ní mór dúinn a saor in aisce é. OK. A ligean ar a fheiceáil cad a tharlaíonn. Mar sin, tá sé neamhuimhriúil. Ba é sin an méid a rud a Marcus beartaithe níos luaithe. Mar sin, ní mór dúinn go bhfuil earráid, Maolán athróg Tá argóint neamhuimhriúil nuair a úsáidtear anseo. Conas is féidir linn a shocrú seo? MAC LÉINN 50: Malloc é? MAC LÉINN 51: Chomhionannais NULLComment? MAC LÉINN 52: Abair ionann maolán NULLComment. Jason Hirschhorn: OK. Breathnaíonn go maith. Tá muid anois. A ligean ar chruthú rud éigin chun iarracht a chóipeáil. Mar sin, ní mór dúinn ár gcomhad téacs. Conas is féidir linn a reáchtáil an chláir seo? Yeah. MAC LÉINN 53: Is féidir leat a dhéanamh ponc Slais cp, test.txt. Agus ansin is féidir leat a ainm eile comhad a mbeidh sé a stóráil i. Jason Hirschhorn: OK. Beidh muid a ghlaoch air out.txt. Cool? Seg locht. Smaointe ar an locht seg? Tá sé seo iontach. Conas is féidir linn a fháil amach cén áit Is é an locht seg? Cad é? MAC LÉINN 54: GDB. Jason Hirschhorn: GDB. Rithimid gdb trí scríobh gdb ponc Slais, an t-ainm ár gclár. Uimh argóintí ann. Táimid ag dul a shocrú Brisphointe ag is mó. Más mian liom a thosú gdb, cad is féidir liom a dhéanamh? MAC LÉINN 55: R. Jason Hirschhorn: R. Agus ansin cad? MAC LÉINN 55: An argóintí? Jason Hirschhorn: Ansin an argóintí ordú-líne. A ligean ar siúl tríd. N glacadh ach dom líne ar líne. Tá mé ag dul chun dul go dtí Liom a fháil ar mo locht seg. Níl mo locht seg. Breathnaíonn sé cosúil le fread ba chúis mo locht seg. Tá a fhios agam fread de bharr mo locht seg, toisc go raibh an líne chun báis muid díreach. Agus an rud amháin go raibh ag tarlú sa líne - Cuireadh dhá rud ag tarlú. Cuireadh Fread dul, agus ansin bhí muid ag déanamh roinnt seiceáil Cé go. Tá mé sásta a geall go bhfuil an LINN seiceáil nach raibh cúis mo locht seg. Is dócha, bhí fread is cúis le mo locht seg. Liom a fheiceáil freisin rud éigin anseo, memcopy. Cóip Cuimhne. Fuaimeanna cosúil le bogadh cuimhne ó suíomh amháin go ceann eile. Fuaimeanna cosúil le rud éigin a bheadh ​​a tharlaíonn i fread, b'fhéidir roinnt cuimhne bogadh ó anseo chun anseo. A ligean ar dul tríd an arís. Conas is féidir liom tús a chur air thar agus rith sé arís? Yeah. MAC LÉINN 56: An bhfuil gá duit a chur ar ampersand roimh Maolán? Jason Hirschhorn: Mar sin, ampersand roimh Bheadh ​​maolán a thabhairt dom an seoladh ar Maolán, a bhfuil Char *. A ligean ar siúl tríd an am amháin níos mó. Conas is féidir liom a reáchtáil trí mheán sé ar cheann níos mó ama? MAC LÉINN 57: An féidir leat ach cineál reáchtáil arís? Jason Hirschhorn: Just cineál reáchtáil arís. Mar sin, ní táimid ag dul chun fhorghníomhú líne seo. Dá bhrí sin tá Maolán pointeoir NULLComment. Ceart? Tá sé dírithe ar - ligean ar a fheiceáil. Má ní mór dúinn ár - tarraing pictiúr tapa seo. An féidir gach duine a fheiceáil má Scríobh mé thar anseo? Mar sin, i an chairn, ní mór dúinn a áitiúil athraitheach agus tá sé ar a dtugtar Maolán, agus tá sé ina pointeoir chun Char. Cén seoladh seo Char ag? MAC LÉINN 58: 0x0. Jason Hirschhorn: Ceart. Sin cad é seo. I anseo, taobh istigh Maolán, a stóráiltear 0x0. Sin an méid atá againn - an thus againn ceart anois. Mar sin, cuireann an líne seo, fread, rud ó fhoinse áit? Isteach sa bhosca seo nó sa bhosca seo? Cén bhosca? Bosca nó bosca ceart Clé? Seo bosca ceart. Leanann sé an pointeoir, agus cuireann sé i anseo. Nuair a iarracht muid agus cuimhne dteagmháil ag suíomh 0, cad a dhéanann muid a fháil? A locht deighilt. Sin an earráid ní mór dúinn ceart anois. Yeah. MAC LÉINN 59: Ná bhfuil tú ag a chur maolán réalta? Nó aon? Chun fread? Jason Hirschhorn: Mar sin, fread Bíonn pointeoir. Mar sin, téann sé i maolán. Agus ansin beidh sé a dí-tagairt sé áit éigin taobh istigh fread. Ach arís, chonaic muid, a thógann sé ar pointeoir. Ní chuirimid gá chun pas a dó maolán réalta. Bheadh ​​sé sin a bheith dul thar í cibé anseo. Agus bheadh ​​a thabhairt dúinn dócha earráid mar gheall ar táimid ag dí-tagairt dó. Ceart? Nuair a dí-thagartha muid an pointeoir, nuair a déanaimid ár ndícheall chun teacht ar an suíomh, táimid ag dul earráid - ár locht deighilt. Mar sin, - Oops. Táimid ag dul a scor as gdb. Ár líne - ár fhadhb - is ceart anseo ar an líne seo. Agus tá sé ina fhadhb mar gheall ar an líne seo. Conas is féidir linn a chruthú bosca a inrochtana i fread. Ceart? Ní mór dúinn a chruthú bosca go bhfuil ceann beart mór, an méid de Char. Ach ní mór dúinn go bosca a bheith inrochtana nuair a fhorghníomhú an fheidhm seo. Mar sin, nuair - yera yeah. Aon smaointe? MAC LÉINN 60: Just a leagtar sé mar aon charachtar randamach. Just a dhéanamh ionann maolán ruabhreac an carachtar. Agus ansin, nuair a tá tú maolán ann - Jason Hirschhorn: Fan. Carachtar Maolán? Mar sin, níl aon réalta? MAC LÉINN 60: Yeah. Tóg amach an réalta. Chomhionannais carachtar randamach. Jason Hirschhorn: OK. Mar sin, a thabhairt dom amháin. MAC LÉINN 60: Cosúil le nó rud éigin. Agus ansin nuair a tá tú maolán ann, úsáideann tú - MAC LÉINN 61: Star? Oh aon, an ampersand. MAC LÉINN 60: Bain úsáid as an ampersand. Jason Hirschhorn: OK. Agus cad mar gheall ar i fwrite? MAC LÉINN 60: Bain úsáid as an ampersand arís. Jason Hirschhorn: Gach ceart. Mar sin, tá do smaoineamh, a chruthú dúinn ruabhreac agus rud éigin a chur ann, agus ansin scríobh chuig an ruabhreac. MAC LÉINN 60: Yeah. Jason Hirschhorn: Cad dhéanann daoine a cheapann? MAC LÉINN 62: Tá sé convoluted. Jason Hirschhorn: OK. A ligean ar a tharraingt sé amach. Mar sin, an uair seo, tá mé ag dul a tharraingt seo dearg ar an chairn anseo, agus ansin dúinn beidh - ooh! Tá brón orm. Mar sin, an uair seo ní mór dúinn rud éigin a dtugtar Maolán, agus tá sé ar an chairn. Ceart? Agus tá muid ag coigilt i sé, ar dtús. Ansin, ní mór dúinn ár n-glaoch chun fread. Cén fread chuireann é a thógann sé ar beart ó Cuireann ár comhad agus áit éigin. Cuireann sé é i cibé an Rud atá dírithe ar. Bhuel, sula raibh muid an seoladh - 0x0. Anois, cad a seoladh atá againn? MAC LÉINN 63: Cibé rud a Is é seoladh Maolán. Jason Hirschhorn: Cibé rud a Is é seoladh Maolán. Is dócha Tá sé ag dul a bheith rud éigin mar sin. Is dócha dul chun tús a chur le b agus ar f, agus ansin tá sé cinn eile dhigit heicsidheachúlach. Nach cuma. Roinnt seoladh. Agus tá muid ag dul go seoladh isteach Agus táimid ag dul a chur ar ár n-aon Rud beart ag an seoladh sin. Mar sin, táimid ag dul a chur ar ár n-aon Rud beart taobh istigh anseo. Agus ansin tá muid ag dul a scríobh ó cad a bhí riamh taobh istigh anseo. An bhfuil aon cheist aon duine faoi ​​sin? Cé a cheapann go mbeidh an gcód seo ag obair? Ardaigh do lámh má cheapann tú Beidh an cód an obair. Tá tú a ghlacann seasamh. Agus a cheapann nach mbeidh an gcód seo ag obair? Ardaigh do lámh. Ba chóir go mbeadh gach duine eile a bheith ardú a lámh. OK. Michael, i gcás ina bhfuil tú ag seasamh? MICHAEL: Ní féidir liom cinneadh a dhéanamh. Cineál i lár. Jason Hirschhorn: Tá tú i lár. Roghnaigh ceann amháin. MICHAEL: Feicfidh mé a bheith creideamh agus a rá go mbeidh sé ag obair. Jason Hirschhorn: OK. Feicfidh tú go bhfuil creideamh agus a rá oibríonn sé? Cad a tharla? [GUTH interposing] Jason Hirschhorn: Uimh locht seg. Conas is féidir linn a sheiceáil a fheiceáil má Tá dhá rud atá comhionann? Tá dhá comhaid comhionann. MAC LÉINN 64: Diff. Jason Hirschhorn: LD. Seiceálacha difr do na difríochtaí idir dhá chomhad, agus má fhilleann sé rud ar bith, tá siad comhionann. Agus má osclaíonn muid suas, a fháil againn ar ár comhad. Mar sin, go raibh an réiteach ceart. A ligean ar breathnú siar ar sé ar cheann níos mó ama. Ní raibh muid i ndáiríre fiú Ní mór a thúsú é. Bheadh ​​sé cuma dócha go bhfuil beagán níos glaine más rud é nach raibh tú a chur rud éigin randamach i ann. An pointe a bheith, is gá duit a chruthú roinnt spáis rud éigin a stóráil ó fread agus rud éigin a ghlacadh as fwrite. Agus bhí go bhfuil rud a bheith ina áitiúil athróg ar an chairn - tú D'fhéadfadh mé malloc'd roinnt spáis. Mar sin, d'fhéadfadh muid a bheith i ndáiríre malloc scríofa anseo, agus Bheadh ​​a bheith ag obair. Agus ansin ba mhaith linn a bheith a stóráil ár rudaí áit éigin ar an gcarn. Ach tá sé seo i ndáiríre, is dócha, an réiteach is galánta. Just a chruthú roinnt spáis ar an chairn do na rudaí a dul. Ba mhaith liom a bheith dhá tuairimí eile. Má bhí tú sheal a ghlacadh san, agus ansin a fháil scór ar seo, mo chuid tuairimí Bheadh ​​mar seo a leanas. Tá na 1 anseo, dom, breathnú cosúil le uimhreacha draíochta. Seo 1, i dtéarmaí fread, ciall. Sin an líon rudaí a léamh nó a scríobh. Ach an ceann ceart anseo chóir is dócha rud éigin eile. Mar sin, cad é an réiteach amháin? MAC LÉINN 65: Méid an beart. Jason Hirschhorn: Cosúil le sin? MAC LÉINN 65: Méid an Char. Jason Hirschhorn: Méid an Char. Yeah, nach bhfuil beart cineál. Mar sin, méid na n-oibreacha ruabhreac. D'fhéadfadh muid a bheith acu, ag an barr ár gcód, # sainithe go. Glaoite rud beart agus tá sé i ndáiríre Char. I ndáiríre, cur chuige níos fearr fós d'fhéadfadh a bheith seo - uint. Aon duine a fhios cad é sin? Tá brón orm. Tá mé é ar gcúl. Fan, uimh. Cén chaoi a gcuireann sé dul? Aon duine a fhios cad é sin? Yeah. MAC LÉINN 67: Ceaptha chun cabhrú le caighdeánú thar chórais rudaí a Tá - cosúil le slánuimhreacha sín go bhfuil 8 bytes? Jason Hirschhorn: Sin go díreach ceart. Ar meaisíní éagsúla, ar chóimhéid le ruabhreac - Ní ghnáth Char. Tá carachtair de ghnáth bheart amháin. Ach tá an méid de chineálacha eile sonraí mhéideanna éagsúla ar meaisín 32-giotán i gcomparáid le meaisín 64-giotán. Tá uint8_t i gcónaí 8 giotán - i gcónaí beart amháin. Agus is gá dom a chur san áireamh go comhad header slánuimhir caighdeánach. Mar sin anois, bheadh ​​sé seo a bheith dócha an bealach is fearr a scríobh cód seo. Mar sin, a fháil mé réidh leis an líon draíochta. Agus tá mé chomh maith le níos loighciúil cineál do Maolán. Níl sé ach ruabhric, go bhfuil sé ar beart, a bhfuil cad a bheith ag súil againn é a bheith. Agus suas anseo, tá muid i ndáiríre bhí beagán níos láidre. Ní Táimid ag iarraidh é a ruabhric, a - b'fhéidir, a bhfuil aithne aige - d'fhéadfadh a bheith difriúil méid ar mheaisíní éagsúla. Táimid ag rá i ndáiríre is é seo go díreach beart amháin, i gcónaí, is cuma cén. Agus má táimid anseo, a théimid ar cp. Uh-OH. Cad a tharla? MAC LÉINN 68: D'fhéadfadh sé a bheith aistrigh. Jason Hirschhorn: Cad é? MAC LÉINN 69: An bhfuil sé? MAC LÉINN 70: Ní raibh tú shainmhíniú mar chineál. MAC LÉINN 71: Ach ba chóir é a a shainiú i caighdeánach. MAC LÉINN 72: Cad atá ar siúl? MAC LÉINN 73: Ar chóir a shainiú go léir caipíní? Jason Hirschhorn: Mar sin, nach bhfuil sé # shainiú. I ndáiríre, sa chás seo, tá mé ag dul a úsáid typedef. Toisc go bhfuil muid ag baint úsáide as é mar i ndáil le cineál i suíomh amháin. Mar sin, sa chás seo, ba mhaith linn i ndáiríre a typedef mar tá muid ag priontáil le cineál nua beart, agus tá sé, go bunúsach, seo. Tá sé rud beag difriúil ná a shainmhíniú #. Agus anois, a oibríonn ár cód breá. Mar sin, arís, a thógann # shainmhíniú rud éigin, Tagann sé i ngach áit leis an rud eile. Tá sé ach macra - luathscríbhneoireachta chun fáil réidh le uimhreacha draíochta. Ach sa chás seo, mar táimid úsáid mar chineál - ar dheis anseo - ionas go mbeidh an obair, ní mór dúinn a typedef cibé beart is. Agus tá muid ag an sainiú air a dheis anseo. Níl sé ina struct, tá sé i ndáiríre ach slánuimhir gan síniú. Tá sé ar beart ceann fada. Beidh an cód a bheith ar líne ar fáil, agus Ba chóir go bhfuil tú go léir sé ceart anois. Mar sin, ní mór dúinn - foirfe - 13 nóiméad fágtha le dul fhadhb thar a leagtar 5. Ba mhaith liom ag siúl tríd ní féidir dí le chéile, agus ansin beidh muid ag labhairt go hachomair faoi ​​na codanna eile na faidhbe a leagan síos. Mar sin, lig dom a tharraingt suas copy.c. Agus is é an rud fionnuar, tá muid i ndáiríre scríofa cheana féin a lán den chód seo. An cód Scríobh muid literally ach Tháinig amach anseo nuair a bhí mé scríobh ar mo chuid féin. Ach tá sé seo ní féidir dí, foirmeacha an bunús don chéad dá chuid den an fhadhb atá leagtha síos do whodunit.c, a is gá duit a scríobh, agus resize.c. Recover.c, arb é an tríú agus an deireanach chuid den tsraith fhadhb nach bhfuil, bunaithe ar thalamh den comhad seo. Tá tú ag dul go mór chun scríobh go comhad, a thabhairt dúinn tú an teimpléad don comhad, ach tá sé rud ar bith a dhéanamh leis copy.c. Ach toisc go bhfuil ní féidir dí an bunús le haghaidh an chéad dá chuid, táimid ag dul chun siúl tríd sé anois, ionas go mbeidh tú tuiscint mhaith ar cad a dhéanann sé. Agus na barúlacha a thabhairt ar roinnt de na sé ar shiúl. Táimid tar éis scríofa cheana féin roinnt de seo. Gcéad dul síos, tá muid ag déanamh cinnte go a fháil againn trí argóintí. Next, tá muid ag cuimhneamh ar an ainm comhaid. Mar sin ndearna muid an chéim seo nuair a códaithe muid ár rud - nuair ár cp. Ach anseo, tá siad ag déanamh sé beagán níos glaine. Tá siad ag seiceáil a dhéanamh cinnte go Tá an dá comhaid go maith, i Chomh maith leis iad a oscailt. Scríobh muid cód seo ar fad ach anois, mar sin tá mé nach bhfuil ag dul a dwell ar an gcód seo. Tá Next roinnt rudaí go sonrach le na cineálacha comhaid táimid ag baint úsáide as, a Tá comhaid bitmap. Tá comhaid bitmap éigin meiteashonraí a bhaineann leo. Mar sin, an chéad cúpla beart insint duit faoi an comhad. Nach bhfuil siad na dathanna de an picteilín sa íomhá. Insíonn siad duit mar gheall ar an comhad. Agus má tá tú ag léamh tríd an leagan fhadhb, go mbainfidh tú a bheith i bhfad níos mó eolais ar cad iad na cineálacha struchtúir meiteashonraí san áireamh le bitmaps. Ach sin an fáth ní mór dúinn an chéad sraith de - an cód dheis anseo. Táimid ag léamh na meiteashonraí - dhá phíosa meiteashonraí - an comhad header agus an header eolas. Agus tá muid ag seiceáil roinnt codanna de a a dhéanamh cinnte go bhfuil sé comhad bitmap fíor roimh leanúint ar aghaidh. Agus arís, tá na sonraí muid ní gá dul isteach anois. Má léann tú tríd an leagan fhadhb, beidh tú a thuiscint seo. Scéal fada gairid, tá na rá ach, tá sé seo le comhad bitmap, agus deimhniú go bhfuil. Next, tá muid ag scríobh iad siúd chun an comhad amach. Feicimid go bhfuil anseo. Táimid ag scríobh chuig an pointeoir amach. Next, tá muid ag a chinneadh stuáil. Mar sin, arís, mar go bhfuil particularity le comhad bitmap, tá roinnt línte stuáil ag an deireadh. Agus má tá tú ag léamh tríd an leagan fhadhb, Feicfidh tú níos mó faoi stuáil fhoghlaim. Is é seo an fhoirmle stuáil a fháil. Tábhachtach a mheabhrú - nuair a athraíonn tú an méid bitmap comhad, na hathruithe stuála. Nuair a athraíonn tú an méid comhad, na hathruithe stuála. Riamh Tá sé ag dul a bheith níos mó ná 3 - beidh sé a bheith ó 0 go 3, go huile. Ach nuair a athraíonn tú an méid rud éigin, ar na hathruithe stuála. Má tá mé ach picteilín amháin sa tsraith nua, mé Ní mór trí bytes na stuáil, mar gheall ar Tá gach as a chéile a bheith iolraithe de cheithre beart fada i gcomhad bitmap. Ach má tá mé dúbailte é, chun dul ó picteilín amháin go dtí dhá picteilín, gach ceann acu, ligean le rá, tá beart, ansin is gá dom dhá bytes stuála a dhéanamh go comhionann le ceithre. Mar sin, nuair a athrú mé an méid de rud éigin, Is gá dom a athrú ar an méid de stuáil agam. An bhfuil ciall a dhéanamh le gach duine? Next, iterate muid thar gach as a chéile, nó tríd na sraitheanna. Agus ansin iterate againn trí gach colún i ngach ró. Táimid ag déileáil seo bitmap mhaith greille, mar tá muid cóireáilte an bord i 15. Cosúil déileálfar muid an brící nuair a clóite againn iad a chur ar an scáileán. Tá greille na sraitheanna agus colúin. Ansin - chonaic muid seo. Táimid i ndáiríre códaithe ach seo. Cruthaithe againn roinnt stórála sealadaí. Léimid i ann, agus ansin scríobh againn sé amach. Tá sé seo go díreach cad a rinne muid díreach. Next, mar a dúirt mé gach líne chríochnaíonn i roinnt stuáil, táimid ag skip thar an stuála - an stuáil aois. Agus ansin linn a chur ar ais. Sa chás seo, tá muid ag cruthú an comhad ceannann céanna. Táimid ag a chóipeáil díreach é. Mar sin, is é an líne seo de chineál ar amaideach. D'fhéadfadh muid literally ach a chur ar an stuáil isteach Ach má athraíonn tú an méid an chomhaid, ar mhaith leat go fóill líne seo? Mar sin, má athraíonn muid an méid comhaid, mian linn go fóill a skip thar an stuáil aois? MAC LÉINN 74: Is ea. Jason Hirschhorn: Mar sin, a dhéanann muid. Mar gheall ar seo, arís, déileálann leis an comhad foinse. Ní chuirimid cúram faoi an stuáil as an comhad foinse. Ba mhaith linn dul go dtí an chéad líne eile. Ach ní féidir linn a chur go simplí ar ais an méid sean stuáil. Ní mór dúinn a chur ar ais ar an méid nua de stuáil. Mar sin, nuair a bhíonn muid ag athrú an méid comhad, ba mhaith linn go fóill a skip thar an stuála san chomhad sean - cad táimid ag léamh i ó. Ach cad tá muid ag scríobh chuig, táimid ag dul go mór a chur ar ais ar roinnt éagsúla líon na stuáil go againn chinneadh. Yeah. MAC LÉINN 75: An t-ordú dá Ní línte ábhar, ceart? Toisc go bhfuil tú ag láimhseáil comhaid éagsúla. Jason Hirschhorn: Go díreach. An t-ordú de na dhá líne nach ábhar. Scríobh againn líne seo. Tá sé seo le haghaidh anseo an comhad táimid ag scríobh chuig. Sin tábhachtach, mar sin a fháil againn ar an méid ceart stuáil. Tá sé seo chun déileáil leis an comhad i. Ba mhaith linn a skip ceart thar an stuáil. Nílimid ag iarraidh a léamh - má tá muid ag léamh beart ag an am, ní mór dúinn nach cúram faoi sin beart stuála. Is mian linn a aistriú go dtí an chéad líne eile. Ar deireadh díreach mar a thug Lucy dúinn, táimid dhúnadh na comhaid agus ar ais 0. Mar sin, is é seo copy.c. Agus scríobh againn i ndáiríre - chaith muid an chuid is mó de na alt a scríobh, go bunúsach. Rinne tú é seo. Mar sin tá súil againn go bhfuil tú tuiscint mhaith ar cad atá ar siúl i anseo. An difríocht mhór, go hionraic é, ach chéad chuid seo a dhéileálann le peculiarities de chomhaid bitmap. Mar sin, tá mé mar mo sleamhnán seo chugainn, cad is gá dúinn a dhéanamh? Bhuel, a ligean ar smaoineamh ar whodunit. Agus do dhuine a léamh tríd an fhadhb a leagtar, cad a dhéanann muid gá a dhéanamh i whodunit? Níl ort ach. Aleja. ALEJA: An féidir leat a chur amach ar an chuid gach picteilín go seasann dearg. Agus ansin - de chineál ar? Jason Hirschhorn: OK. Mar sin, a thógáil amach an chuid de gach picteilín go seasann dearg. Sin gar, ach ní ar fad é. MAC LÉINN 76: Bhuel, níl ar bhealaí éagsúla chun é a dhéanamh. Jason Hirschhorn: OK. Tabhair dom ar bhealach amháin. MAC LÉINN 76: Tóg amach go léir an dearg, agus ansin béim a chur ar an gorm agus glas. Jason Hirschhorn: OK. Mar sin, a thabhairt dá na bealaí - fuaimeanna sé cosúil a thabhairt dúinn é picteilín, sé Tá leibhéal dearg, gorm, agus glas. Is mian linn a athrú ar na leibhéil choibhneasta an dearg, gorm, glas agus, ag brath ar an picteilín. Más rud é sa chód seo, ba chóir dúinn a athrú an gaol dearg, gorm, glas agus leibhéil picteilín tugtha. Tar éis dúinn é a léamh - sula againn a scríobh é? Tabhair dom an uimhir líne. MIC LÉINN MULTIPLE: 83. Jason Hirschhorn: 83. Mar sin, ar dheis anseo. Chun whodunit, an cód is gá duit a Ba chóir scríobh téigh go léir ceart ann. Agus sin an cód amháin is gá duit a scríobh. Toisc, cosúil le chuala muid, go léir is gá duit a dhéanamh ná a athrú ar na gorm coibhneasta, leibhéil dearg, glas agus ó gach picteilín. Tá tú a léamh i, agus anois tá tú ag dul a scríobh sé amach. Conas is féidir liom a fháil - má tá mé an rud ar a dtugtar triple, ar dheis anseo, agus tá sé de cineál RGBTRIPLE - go maith, má d'fhéach muid i bmp.h, cad é RGBTRIPLE? MAC LÉINN 77: Tá sé ina struct. Jason Hirschhorn: RGBTRIPLE Is struct. Feicimid go bhfuil ceart síos anseo. Agus mar sin má bhí mé a rochtain, a rá, an leibhéal dearg ar an struct, conas is féidir liom rochtain a fháil ar an leibhéal dearg ar an struct? [AICME murmurs] MAC LÉINN 78: RGBTRIPLE.rgbtred? Jason Hirschhorn: An bhfuil sin ceart? MAC LÉINN 79: Ba chóir go mbeadh triple ponc, in ionad RGBTRIPLE ponc? Jason Hirschhorn: Triple. Is é an Triple athróg áitiúil, mar sin anseo, níl aon leideanna anseo. Mar sin, linn a úsáid ach an nodaireacht ponc. Beidh sé seo a thabhairt dom ar an leibhéal dearg. Más mian liom é a athrú, leag mé díreach tar sé comhionann le rud éigin difriúil. Mar sin, arís, an líne seo de chód rochtana an athróg taobh istigh seo struct, agus is féidir linn é a shocrú le rud éigin nua. Mar sin, le haghaidh whodunit, arís, is é seo, Go bunúsach, cad is gá dúinn a dhéanamh. An-simplí. Just a athrú roinnt leibhéil coibhneasta, agus is é seo an áit a théann an cód. Athraigh méid, ar an láimh eile, Is le beagán trickier. Go deimhin, is é is dócha Athraigh an chuid trickiest an fhadhb seo a leagan síos. Tá trí nóiméad chun dul thar sé. Ach arís, tá muid cheana féin i scríbhinn an chuid is mó de chód seo, mar sin táimid ag Ba chóir go mbeadh eolas go leor. Cad tá roinnt rudaí ba mhaith linn a dhéanamh i Athraigh, má tá tú ag léamh os cionn na fhadhb a leagtar? Má thugann tú iad a dom, táimid ag Is féidir labhairt mar gheall orthu. Cad tá roinnt rudaí ba mhaith linn a dhéanamh? MAC LÉINN 80: hIngearach - ionas go mbeidh tú a athrú go cothrománach é, ach go hingearach é a athrú chomh maith? Jason Hirschhorn: Mar sin, má táimid tugtha picteilín, agus ba mhaith linn a athrú go trí fachtóir de dhá, ní mór é a bheith anois resized cothrománach agus resized hingearach. An bhfuil a dhéanann ciall? Yeah. Mar sin, go bhfuil dócha go bhfuil an dúshlán is mó. Agus beidh muid ag labhairt faoi sin i sec. Yeah. MAC LÉINN 81: An bealach shíl mé é bhí tú ag teastáil a phriontáil sé amach - Jason Hirschhorn: Fan. Ná insint dúinn cad a rinne tú. Táimid ag dul chun labhairt i loighic. MAC LÉINN 81: OK. Cad é an cheist? Jason Hirschhorn: Tá tú díreach ardaíodh ar do lámh. Ní raibh aon cheist. Lig dom a chur i láthair é. Lig dom a phlé ach an gairid. Mar sin, ní mór dúinn picteilín amháin, ba mhaith linn a mhacasamhlú é, idir cothrománach agus hingearach. Mar sin, go hidéalach cad a dhéanann muid anseo, táimid ag Léigh ár picteilín, scríobh againn é áfach, go leor na n-amanna. Ach ansin ní mór dúinn ár n-cleas anseo, mar gheall ar ansin ba mhaith linn a skip go dtí an chéad líne eile agus é a scríobh ag an ag tosú ar an chéad líne eile. Mar sin, más mian linn a aithris a dhéanamh ar an dá go cothrománach agus go hingearach, cad é bealach amháin maith a dhéanamh - ceann maith cé a dhéanamh? Mar sin, ní mór dúinn a lorg i gcónaí timpeall ár comhad a chur ar na rudaí. Ní fhéadfadh an cheist a bheith rinne ciall, ach is dóigh liom gur fhreagairt dó cabhróidh sé. MAC LÉINN 82: Cruthaigh sraith? Jason Hirschhorn: Mar sin, a ligean ar smaoineamh de gach comhad mar a chéile. A ligean ar smaoineamh i dtéarmaí na rónna. Má ní mór dúinn ár chéad ró as ár beag pictiúr, is féidir linn a dhéanamh go chéile isteach i ndiaidh a chéile mór ó pictiúr mór, agus ansin a mhacasamhlú go chéile, áfach, mhéad uair is gá é a mhacasamhlú, seachas picteilín ag dul ag picteilín, a fhaigheann mearbhall nuair a ag déileáil le comhaid. Toisc má bhí againn - Tá mé ag rith amach as an spás. Más é seo ár comhad, agus ní mór dúinn go picteilín amháin ann, agus ba mhaith linn a chur air ceart ann, tá muid fós roinnt rudaí go bhfuil gá le dul thar ann nuair a bhíonn muid scríobh agus a chruthú ar ár comhad nua - ár comhad go dhá uair chomh mór. Ach tá sé i ndáiríre deacair le feidhmeanna comhad a scipeáil ar fud chun línte nua mar sin, agus ansin dul ar ais anseo agus rudaí a chur i ann. Tá sé beagnach dodhéanta rud éigin a dhéanamh mar sin, má dhéanann chiall sin. Mar sin, má cheapann muid i dtéarmaí sraitheanna, is féidir linn a chur ar ár chéile, agus ansin é a chur - sraitheanna mhacasamhlú go hingearach. Agus sin conas a phléimid le méid a athrú hingearach seachas cothrománach. Go raibh cineál tapa, agus mearbhall beag. Ar an drochuair bhfuil ár gcuid ama suas. Beidh mé ag seasamh taobh amuigh dóibh siúd agaibh anseo a bhfuil ceisteanna maidir leis an fhadhb a leagtar, lena n-áirítear a ghnóthú. Mar sin, a ligean ar chur ar atráth ar feadh anois. Agus arís, má tá aon cheist agat, Is féidir linn a comhrá a dhéanamh taobh amuigh.