[Powered by Google Translate] [CUID 5: LÚIDE CHOMPORDACH]
[Nate Hardison, Ollscoil Harvard]
[Tá sé seo CS50.] [CS50.TV]
Mar sin, fáilte ar ais, guys.
Fáilte go dtí alt 5.
Ag an bpointe seo, tar éis críochnaithe tráth na gceist 0 agus tar éis feiceáil conas atá déanta agat,
tá súil againn go mbraitheann tú gur maith mar gheall mé an-tógtha leis na scóir sa roinn seo.
Chun ár lucht féachana ar líne, tá muid go raibh cúpla ceist
mar gheall ar an dhá fhadhb deireanach ar an leagan fhadhb - nó ar an tráth na gceist, in áit.
Mar sin, táimid ag dul chun dul thar sin i ndáiríre go tapa ionas go bhfeiceann gach duine cad a tharla
agus conas dul tríd an réiteach iarbhír seachas díreach ag breathnú ar an réiteach féin.
Táimid ag dul chun dul thar an cúpla fadhbanna i ndáiríre go tapa, 32 agus 33.
Díreach, arís, is féidir ionas go mbeidh an lucht féachana ar líne é seo a fheiceáil.
>> Má tá tú ag dul a d'fhadhb 32, atá ar leathanach 13,
13 as 16 é, fadhb 32 ar fad faoi babhtálacha.
Bhí sé ar fad faoi swapping dhá slánuimhreacha.
Tá sé an fhadhb atá ann go mhaith imithe muid thar cúpla uair sa léacht.
Agus i anseo, cad bhí muid ag iarraidh ort a dhéanamh ar rian cuimhne tapaidh.
A líonadh isteach na luachanna de na hathróga, mar a bhfuil siad ar an chruach
mar a théann an cód tríd an fheidhm babhtála.
Go háirithe, cad tá muid ag lorg ar - I'm ag dul a chur leis an iPad síos -
go háirithe, cad táimid ag féachaint ar an líne uimhir a 6 ar dheis anseo.
Agus tá sé uimhir a 6 le haghaidh ach contiguity leis an bhfadhb roimhe sin.
Cad ba mhaith linn a dhéanamh ná a thaispeáint nó a lipéadú ar staid na cuimhne
mar go bhfuil sé ag an am nuair a fhorghníomhú muid an 6 uimhir na líne agus
nach bhfuil ann ar ais ó ár bhfeidhm babhtála ar dheis anseo.
Má scrollaigh muid síos anseo, chonaic muid gur soláthraíodh na seoltaí de gach rud i gcuimhne dúinn.
Tá sé seo an-tábhachtacha; beidh muid ag teacht ar ais dó i láthair na huaire ach.
Agus ansin síos anseo ag an mbun, bhí againn léaráid cuimhne beag go bhfuil muid ag dul chun tagairt a dhéanamh.
Déanta agam i ndáiríre seo amach ar mo iPad.
Mar sin, tá mé ag dul go malartach ar ais agus amach idir an iPad agus an cód díreach le haghaidh tagartha.
>> Let tús. Gcéad dul síos, a ligean ar díriú ar an chéad cúpla línte de phríomh-dheis anseo.
Chun tús, tá muid ag dul go dtí x thúsú go 1 agus y go 2.
Mar sin, tá dhá athróg slánuimhir, tá siad araon ag dul a chur ar an chairn.
Táimid ag dul a chur 1 agus 2 i dóibh.
Mar sin má mé smeach ar aghaidh go dtí mo iPad, tá súil againn, a ligean ar a fheiceáil -
Apple teilifíse scáthánú, agus tá muid ag dul. Maith go leor.
Mar sin má mé smeach ar aghaidh go dtí mo iPad,
Ba mhaith liom x thúsú go 1 agus y go 2.
Déanann muid go leor ach ag scríobh 1 sa bhosca marcáilte x
agus marcáilte ar 2 sa bhosca y. Simplí go cothrom.
Mar sin a ligean anois ar dul ar ais chuig an ríomhaire glúine, féach cad a tharlóidh ina dhiaidh.
Mar sin, tá an chéad líne eile nuair a fháil rudaí tricky.
Pas muid an seoladh x agus an seoladh y mar na paraiméadair a agus b chun an fheidhm babhtála.
Is iad an seoladh x agus y seoladh rudaí nach féidir linn a ríomh
gan tagairt do na pointí bullet ceart síos anseo.
Agus fortunately, a rá leis an gcéad dá phointe urchair dúinn go díreach cad iad na freagraí.
Is é seoladh x i gcuimhne 10, agus is é an seoladh y i gcuimhne 14.
Mar sin, sin iad na luachanna a fháil ar aghaidh i mar a agus b ar bun is fearr i ár bhfeidhm babhtála.
Mar sin, arís, athrú ar ais go dtí ár n-léaráid, is féidir liom a scríobh 10 i
agus 14 i b.
Anois, tá an pointe nuair linn dul ar aghaidh leis an babhtála.
Mar sin, flipping ar ais chuig an ríomhaire glúine arís,
feicimid go bhfuil an bealach a oibríonn an babhtála mé téigh i dtús agus a stóráil ar an toradh i tmp.
Mar sin, deir an t-oibreoir téigh, "Hey. Caitheamh an t-ábhar athróg is seoladh.
Téigh go dtí cibé atá stóráilte ag an seoladh sin, agus é a luchtú. "
Cad atá tú a luchtú amach as an athróg ag dul a stóráil i ár athróg tmp.
Flipping ar ais go dtí an iPad.
Má théann muid chun aghaidh a 10, tá a fhios againn go bhfuil seoladh 10 x varible
mar gheall ar dúradh linn ag ár pointe urchair go bhfuil an seoladh x i gcuimhne 10.
Mar sin, is féidir linn dul ann, an luach na sé, a bhfuil 1 a fháil, mar a fheiceann muid ar ár iPad,
agus ualach sin san tmp.
Arís, nach é seo an t-ábhar deiridh.
Táimid ag dul chun siúl trí agus beidh orainn a fháil ar ár staid deiridh an chláir ag an deireadh.
Ach ceart anois, ní mór dúinn an luach 1 atá stóráilte sa tmp.
>> Agus tá ceist tapaidh thar anseo.
[Alexander] An bhfuil an t-oibreoir dí - go díreach an ceart réalta i os comhair an athróg?
>> Tá. Mar sin, an t-oibreoir téigh, agus muid ag smeach ar ais go dtí ár n-ríomhaire glúine arís,
Is é an réalta ceart i tosaigh.
Sa chiall sin, tá sé - tá tú i gcodarsnacht leis an t-oibreoir iolraithe
a éilíonn dhá rud; tá an t-oibreoir téigh oibreoir unary.
Díreach i bhfeidhm ar luach amháin seachas oibreoir dénártha,
áit a bhfuil tú iarratas a dhéanamh dhá luachanna difriúla.
Mar sin, go cad a tharlaíonn sa líne seo.
Luchtú muid an luach a 1 agus a stóráil sé isteach inár athróg slánuimhir sealadach.
Tá an líne seo chugainn, a stóráil muid an t-ábhar b isteach -
nó, in áit, a stóráil againn ar an ábhar go bhfuil b dírithe ar an áit ina bhfuil dírithe.
Má anailís a dhéanamh ar muid seo ó ceart ar chlé, táimid ag dul chun b téigh,
táimid ag dul chun aghaidh a thabhairt ar 14, táimid ag dul chun grab an tslánuimhir is go bhfuil,
agus ansin tá muid ag dul chun dul go dtí an seoladh seo a 10,
agus táimid ag dul le caith an thoradh ar ár téigh de b isteach sa spás.
Flipping ais go dtí ár iPad, nuair is féidir linn seo a dhéanamh beagán níos mó coincréite,
d'fhéadfadh sé cabhrú má scríobh mé huimhreacha ar gach ceann de na seoltaí anseo.
Mar sin, tá a fhios againn go bhfuil ag y, táimid ag an seoladh 14, is é x ag an seoladh 10.
Nuair a thosaíonn muid ag b, táimid téigh b, táimid ag dul chun grab an luach 2.
Táimid ag dul a grab an luach toisc go bhfuil an luach a saol ag an seoladh 14.
Agus táimid ag dul chun é a chur isteach ar an athróg a saol ag an seoladh 10,
a bhfuil ceart ann, a fhreagraíonn do ár n-x athraitheach.
Mar sin, is féidir linn a dhéanamh le beagán de fhorscríobh anseo
nuair a fháil againn fáil réidh ár n-1 agus in ionad againn a scríobh 2.
Mar sin ar fad go maith agus go maith ar fud an domhain, cé go atá déanta againn x overwritten anois.
Táimid tar éis a stóráil ar luach d'aois x i ár athróg tmp.
Mar sin, is féidir linn a chríochnú babhtála leis an chéad líne eile.
Flipping ar ais go dtí ár n-ríomhaire glúine.
Anois go léir is go hiarsmaí a chur ar an ábhar as ár n-athróg slánuimhir sealadach
agus iad a stóráil i an athróg a saol ag an seoladh atá b ghabháltas.
Mar sin, táimid ag dul a b téigh go héifeachtach le rochtain a fháil ar an athróg
is é sin ag an seoladh go seilbh b ann,
agus táimid ag dul a stuif ar an luach go bhfuil tmp bhfuil isteach é.
Flipping ar ais go dtí an iPad arís.
Is féidir liom a scriosadh an luach anseo, 2,
agus ina ionad sin beidh orainn a chóipeáil an ceart 1 isteach é.
Ansin, an chéad líne eile a fhorghníomhú, ar ndóigh -
tá sé seo 6 pointe, - má táimid smeach ar ais chuig an ríomhaire glúine
a bhfuil an pointe ag a bhíomar ag iarraidh go bhfuil ár léaráid líonta amach go hiomlán.
Mar sin, flipping ar ais go dtí an iPad arís, ach mar sin is féidir leat a fheiceáil ar an léaráid i gcrích,
féidir leat a fheiceáil gur féidir linn an 10 i, 14 i b, i 1 as tmp, a 2 in x, agus 1 i y.
An bhfuil aon cheisteanna faoi seo?
An bhfuil seo a dhéanamh ciall níos mó, tar éis shiúil tríd?
Ciall a bhaint as níos lú? Súil go dtosnódh nach bhfuil. Maith go leor.
>> Tá leideanna ábhar an-tricky.
Ceann de na guys a mbímid ag obair leis, tá a rá an-choitianta:
"Chun leideanna a thuiscint, ní mór duit an chéad a thuiscint leideanna."
Cén Sílim go bhfuil an-fíor. Déanann sé a ghlacadh agus a fháil a úsáidtear chun é.
Tarraingthe go leor de na pictiúir, ag tarraingt go leor de na léaráidí cuimhne mar seo an-cabhrach,
agus tar éis shiúlann tú trí shampla tar éis mar shampla tar éis mar shampla,
beidh sé tús a chur chun ciall a bhaint as beagán níos mó agus ciall beag níos mó agus mothú beagán níos mó.
Ar deireadh, lá amháin, beidh tú go léir máistreacht go hiomlán.
Ceisteanna ar bith roimh sinn ag dul ar an bhfadhb seo chugainn? Gach ceart.
Mar sin, smeach ar ais chuig an ríomhaire glúine.
Is í an fhadhb eile atá againn 33 uimhir fadhb ar chomhad I / O.
Súmáil isteach ar an beagán beag.
Fadhb 33 - Tá?
>> [Daniel] Bhí mé díreach tar éis ceist tapaidh. An réalta, nó an réiltín,
sé ar a dtugtar dereferencing nuair a úsáideann tú réiltín roimh.
Cad é a thugtar ar sé nuair a úsáideann tú an COMHARTHA AGUIS roimhe seo?
>> Is é an COMHARTHA AGUIS roimh an seoladh-an oibreora.
Mar sin a ligean scrollbharra ar ais ar bun.
Oops. Tá mé i mód súmáil mar sin ní féidir liom scrollbharra i ndáiríre.
Má táimid ag an gcód seo i ndáiríre go tapa ar dheis anseo,
arís, rud céanna ag tarlú.
Má táimid ag an gcód seo ar dheis anseo, ar an líne seo nuair a dhéanann muid an glaoch a mhalartú,
Is é an COMHARTHA AGUIS rá ach "a fháil ar an seoladh ag a bhfuil saol x athraitheach."
Nuair a Tiomsaíonn do Tiomsaitheoir do chód,
tá sé i ndáiríre a mharcáil go fisiciúil amach i gcuimhne do gach do athróg le maireachtáil.
Agus mar sin cad is féidir leis an tiomsaitheoir a dhéanamh ansin nuair a tá sé le chéile gach rud,
fhios sé, "Oh, chuir mé x ag an seoladh 10. Chuir mé y ag seoladh 14."
Is féidir é a líonadh ansin i na luachanna ar do shon.
Mar sin, is féidir leat ansin - is féidir pas a fháil ansin é seo i agus pas agus y i chomh maith.
A fháil ar na guys an seoladh, ach tá siad freisin, nuair a théann tú iad isteach an fheidhm babhtála,
Insíonn an t-eolas chineál seo, * o dheis anseo, an tiomsaitheoir,
"Maith go leor, tá muid ag dul a bheith ag léiriú an seoladh seo mar sheoladh ar athróg slánuimhir."
Mar seoladh ina slánuimhir, atá difriúil ón seoladh ar athróg carachtar
toisc go dtarlaíonn an slánuimhir suas, ar mheaisín 32-giotán, glacann suas 4 bytes de spás,
ach a thógann carachtar ach amháin go feadh 1 beart de spás.
Mar sin, tá sé tábhachtach go mbeadh a fhios freisin cad é - céard saol, cén cineál de luach
ina chónaí ag an seoladh a fuair pas a isteach
Nó an seoladh go bhfuil tú ag déileáil leis.
An mbealach seo, tá a fhios agat cé mhéad bearta faisnéise a luchtú iarbhír as do RAM.
Agus ansin, tá, bhí ar an oibreoir sin téigh i, is mian leat a iarraidh,
agus téann bhfuil teacht eolais ag seoladh áirithe.
Mar sin, deir sé, leis an athróg a anseo, a chóireáil an t-ábhar is seoladh,
téigh go dtí an seoladh sin, agus tarraingt amach, luchtú isteach an próiseálaí, luchtú isteach i gclár
na luachanna iarbhír nó an t-ábhar a mhaireann ag an seoladh sin.
Aon níos mó ceisteanna? Tá na ceisteanna go maith.
Tá sé a lán de téarmaíochta nua freisin.
Tá sé freisin de chineál ar funky, go bhfaca & agus * in áiteanna éagsúla.
>> Gach ceart.
Mar sin, ar ais go dtí fhadhb 33, comhad I / O.
Bhí sé seo ar cheann de na fadhbanna gur dóigh liom cúpla rudaí a tharla.
One, tá sé ina ábhar cothrom nua.
Bhí sé i láthair go luath go leor roimh an tráth na gceist,
agus ansin Sílim go raibh sé cineál cosúil ceann de na fadhbanna focal i math
ina bhfuil siad a thabhairt duit a lán eolais, ach tú i ndáiríre ní a dhéanamh suas go deireadh a bhfuil úsáid a bhaint as a ton de.
Is é an chéad chuid den fhadhb seo cur síos ar cad is comhad CSV.
Anois, comhad CSV, de réir an cur síos is é camóg-scartha luachanna comhaid.
An chúis is iad seo ar chor ar bith suimiúil, agus an chúis a úsáideann tú riamh iad,
Tá, mar gheall ar, tá cé mhéad de tú úsáid riamh rudaí mar Excel?
Figiúr chuid is mó de tú, is dócha, beidh nó a úsáid ag pointe éigin i do shaol.
Feicfidh tú úsáid a bhaint as rud éigin cosúil le Excel.
D'fhonn a fháil ar na sonraí amach ar scarbhileog Excel nó aon saghas próiseála a dhéanamh leis é,
má bhí tú a scríobh le clár C nó Python clár, Java cláir,
chun déileáil leis na sonraí a stóráil tú a san ann,
cheann de na bealaí is coitianta chun é a fháil amach go bhfuil i gcomhad CSV.
Agus is féidir leat a oscailt suas Excel agus nuair a théann tú go dtí an 'Save As' agallamh,
Is féidir leat a fháil amach comhad CSV iarbhír.
>> Handy a fhios conas déileáil leis na rudaí seo.
Is é an bealach a oibríonn sé go bhfuil sé cosúil le - Ciallaíonn mé, tá sé go bunúsach mimicking scarbhileog,
más rud é, mar a fheicimid anseo, sa phíosa an-chlé-chuid is mó,
mór dúinn go léir na hainmneacha seo caite.
Mar sin, ní mór dúinn MALAN, ansin Hardison, agus ansin Bowden, MacWilliam, agus ansin Chan.
Gach na hainmneacha seo caite. Agus ansin scarann ​​camóg na hainmneacha seo caite ó na hainmneacha ar dtús.
David, Nate, Rob, Tommy, agus Zamyla.
I mheascadh i gcónaí Robby agus Tom.
Agus ansin, ar deireadh, is é an tríú colún na seoltaí r-phoist.
Chomh luath agus go dtuigeann tú é sin, an chuid eile den chlár simplí go leor a chur i bhfeidhm.
Cad atá déanta againn chun mimic an struchtúr céanna inár gclár C
Is é atá déanta againn in úsáid struchtúr.
Beidh muid tús a imirt leis na níos mó beag chomh maith.
Chonaic muid leo as an giotán beag den chéad uair i 3 sraith fhadhb, nuair a bhí muid ag déileáil leis na foclóirí.
Ach siopaí seo struct baill foirne ainm seo caite, an chéad ainm, agus ríomhphost.
Díreach cosúil ár comhad CSV bhí a stóráil.
Mar sin, tá sé seo athrú ach ó fhormáid amháin go ceann eile.
Ní mór dúinn a thiontú, sa chás seo, a struct baill foirne i líne,
líne le camóga-scartha, díreach mar sin.
An dhéanamh go chiall? Tá tú guys tar éis go léir an tráth na gceist,
mar sin a shamhlú agam go bhfuil tú ar a laghad go raibh roinnt ama chun smaoineamh faoi seo.
>> San fheidhm ar cíos, iarrann an fhadhb dúinn a ghlacadh i - súmáil isteach we'll in ar an giotán beag -
ghlacadh i struchtúr foirne, a struct foirne, leis an ainm s,
agus a bhfuil ann i gceangal go dtí ár comhad staff.csv.
Casadh sé amach go bhfuil sé seo simplí go leor a úsáid.
Beidh muid de chineál ar imirt ar fud leis na feidhmeanna sin le beagán níos mó sa lá atá inniu.
Ach sa chás seo, is é an fheidhm fprintf i ndáiríre an eochair.
Mar sin, le fprintf, is féidir linn a phriontáil, díreach cosúil tú guys ag baint úsáide as printf an téarma iomlán.
Is féidir leat printf líne le comhad.
Mar sin, seachas díreach a dhéanamh ar an glaoch is gnách printf áit a bhfuil tú a thabhairt dó an teaghrán formáide
agus ansin tú in ionad na n-athróg leis na hargóintí seo a leanas,
le fprintf, tá do argóint an-an chéad ionad an comhad is mian leat a scríobh chuig.
Más rud é go raibh muid chun breathnú ar seo i an fearas, mar shampla, fear fprintf,
is féidir linn a fheiceáil ar an difríocht idir printf agus fprintf.
Beidh mé ag zúmáil isteach anseo le beagán.
Mar sin, le printf, ní mór dúinn a thabhairt dó a teaghrán formáide, agus ansin na hargóintí ina dhiaidh sin
Is iad na hathróga ina áit nó an mhalairtithe isteach inár teaghrán formáide.
De bharr an méid le fprintf, is é an chéad argóint go deimhin, an * comhad a dtugtar sruth.
>> Bogadh ar ais thar anseo go dtí ár cíos,
tá muid fuair cheana féin ar ár sruth * comhad a osclaíodh chun a dhéanamh linn.
Sin an méid a dhéanann an chéad líne; osclaíonn sé an comhad staff.csv,
osclaíonn sé é i mód iarcheangail, agus gach a d'fhág dúinn a dhéanamh ná
scríobh an struchtúr foirne chun an comhad.
Agus, a ligean ar a fheiceáil, ar mhaith liom a bhaint as an iPad?
Feicfidh mé a bhaint as an iPad. Tá neamhní - lig s seo a chur ar an mbord sin is féidir liom a scríobh beagán níos fearr -
neamhní ar cíos agus a thógann sé i argóint amháin, struchtúr foirne ar a dtugtar s.
Fuair ​​ár braces, tá muid fuair ár * comhad a dtugtar comhad,
ní mór dúinn ár líne a fopen a tugadh dúinn,
agus beidh mé a scríobh ach é mar poncanna ó tá sé cheana féin sa pedia.
Agus ansin ar ár líne eile, táimid ag dul chun glao a dhéanamh le fprintf
agus táimid ag dul chun pas a fháil sa chomhad sin ba mhaith linn a phriontáil do,
agus ansin ar ár teaghrán formáide, a -
Beidh mé in iúl duit guys insint dom cad tá sé cosúil.
Cad é faoi tú, Stella? An bhfuil a fhios agat cad Breathnaíonn an chéad chuid den teaghrán formáide mhaith?
[Stella] Níl mé cinnte. >> Thig leat a iarraidh Jimmy.
An bhfuil aithne agat, Jimmy?
[Jimmy] An mbeadh sé a bheith díreach caite? Níl a fhios agam. Níl mé go hiomlán cinnte.
>> Maith go leor. Cad é faoi, ní raibh duine ar bith a fháil ceart ar an scrúdú?
Uimh Gach ceart.
Casadh sé amach go anseo tá gach ní mór dúinn a dhéanamh ba mhaith linn gach cuid dár struchtúr foirne
a chló amach mar theaghrán isteach inár comhad.
Bainimid úsáid ach an carachtar ionad teaghrán trí huaire éagsúla toisc go bhfuil muid ainm seo caite
le leanúint ag camóga, ansin tar éis an chéad ainm le camóg,
agus ansin tá an seoladh ríomhphoist a lean ar deireadh - nach bhfuil
fheistiú ar mo scáileán - ach tá sé ina dhiaidh sin le carachtar líne nua.
Mar sin, tá mé ag dul a scríobh sé ach ansin síos.
Agus tar éis ansin ár teaghrán formáide,
ní mór dúinn ach an substitutions, atá againn rochtain a fháil ar úsáid a bhaint as an nodaireacht ponc
a chonaic muid i 3 sraith fhadhb.
Is féidir linn úsáid s.last, s.first, agus s.email
a chur in ionad sna trí luach isteach inár teaghrán formáide.
Mar sin, conas a rinne a théann? Ciall a bhaint as?
Tá? Uimh? B'fhéidir? Maith go leor.
>> Is é an rud deireanach a dhéanaimid tar éis tá muid ag phriontáil agus tar éis againn oscail ár comhaid:
aon uair atá déanta againn oscail comhad, ní mór dúinn i gcónaí cuimhneamh é a dhúnadh.
Mar gheall ar shlí eile beidh muid ag deireadh suas a sceitheann an chuimhne,
ag baint úsáide as suas tuairisceoirí comhaid.
Mar sin, é a dhúnadh, agus a fheidhmíonn féidir linn a úsáid? Daniel?
[Daniel] fclose? >> Fclose, go díreach.
Mar sin, bhí an chuid dheireanach den fhadhb seo i gceart an comhad a dhúnadh, ag baint úsáide as an fheidhm fclose,
a bhreathnaíonn díreach mar sin.
Níl dÚsachtach freisin.
Cool.
Mar sin tá go fhadhb 33 ar an tráth na gceist.
Beidh muid a bheith comhad cinnte níos mó I / O teacht suas.
Beidh muid a dhéanamh le beagán níos mó i léacht lá atá inniu ann, nó in alt lá atá inniu ann,
mar gheall ar go cad atá ar siúl chun an chuid is mó de seo pset atá le teacht.
A ligean ar bogadh ar aghaidh ó an tráth na gceist ag an bpointe seo. Tá?
>> [Charlotte]] Cén fáth fclose (comhad) in ionad fclose (staff.csv)?
>> Ah. Mar gheall ar casadh sé amach go - mar sin an cheist, a bhfuil ceann mór,
Is é an fáth, nuair a scríobh againn fclose, ag scríobh muid fclose athróg réalta (comhad)
le hais ainm an chomhaid, staff.csv? An bhfuil sin ceart? Yeah.
Mar sin a ligean ar ghlacadh le breathnú. Má athrú mé ar ais go dtí mo ríomhaire glúine,
agus a ligean ar breathnú ar an fheidhm fclose.
Mar sin, dúnann an fheidhm fclose sruth agus a thógann sé ar an pointeoir leis an sruth sin ba mhaith linn a dhúnadh,
le hais ainm an chomhaid iarbhír a ba mhaith linn a dhúnadh.
Agus é seo mar gheall ar radharc an phobail, nuair a dhéanann tú glao ar fopen,
nuair atá tú ag oscailt suas comhad, tá tú ag leithdháileadh iarbhír cuimhne a stóráil eolas faoi an comhad.
Mar sin, tá tú pointeoir comhaid go bhfuil eolas faoi an comhad,
den sórt sin mar go bhfuil sé oscailte, a mhéid, áit a bhfuil tú faoi láthair sa chomhad,
ionas gur féidir leat a dhéanamh léamh agus glaonna scríbhinn chuig an áit áirithe laistigh de na comhaid.
Deireadh tú suas a dhúnadh an pointeoir in ionad a dhúnadh ainm an chomhaid.
>> Tá? [Daniel] sin, d'fhonn cíos a úsáid, ba mhaith leat a rá - conas a dhéanann sé a fháil ar an ionchur úsáideora?
An bhfuil gníomhú fprintf cosúil GetString sa mhéid go mbainfidh sé fanacht go díreach chun an t-ionchur úsáideoir
agus iarrann tú chun cineál seo - nó fanacht leat chun cineál na trí rudaí i?
Nó an bhfuil gá tú rud éigin a úsáid ar cíos a chur i bhfeidhm?
>> Yeah. Mar sin, nach bhfuil muid - ar an gceist a bhí, conas is féidir linn a fháil ar an ionchur úsáideoir
chun cíos a chur i bhfeidhm? Agus is é an méid atá againn anseo ar an té atá ag glaoch ar cíos,
ritheadh ​​sa struct baill foirne le gach ceann de na sonraí atá stóráilte sa struct cheana féin.
Mar sin, tá fprintf in ann a scríobh go díreach na sonraí sin go díreach leis an gcomhad.
Níl aon fanacht ar ionchur úsáideoir.
Tá an t-úsáideoir a tugadh cheana féin ar an ionchur i gceart é a chur sa struct foirne.
Agus rudaí, ar ndóigh bheadh, dá mba briseadh aon cheann de na leideanna faoin margadh saothair,
mar sin scrollbharra muid ar ais suas anseo agus táimid ag ár n-struct.
Tá teaghrán seo caite, téad chéad r-phost teaghrán.
Tá a fhios againn anois go bhfuil gach ceann de na i ndáiríre, faoi na cochall, tá athróg * Char.
Nach féidir nó a d'fhéadfadh a bheith dírithe ar nialasach.
Is féidir iad a dírithe chun cuimhne ar an gcarn,
b'fhéidir cuimhne ar an chruach.
Níl a fhios againn i ndáiríre, ach má tá aon cheann de na leideanna faoin margadh saothair, nó neamhbhailí,
go mbainfidh a tuairteála cinnte ár bhfeidhm ar cíos.
Ba é sin rud éigin a bhí de chineál ar thar an raon feidhme an scrúdaithe.
Níl muid ag buartha faoi sin.
Great. Maith go leor. Mar sin, ag bogadh ar aghaidh ón tráth na gceist.
>> A ligean ar seo a dhúnadh Guy, agus táimid ag dul chun breathnú ar pset 4.
Mar sin, má fhéachann tú guys ag an spec pset, nuair is féidir leat rochtain a fháil air, cs50.net/quizzes,
táimid ag dul chun dul trí roinnt de na fadhbanna sa lá atá inniu alt seo.
Tá mé ag scrollaigh síos - Tosaíonn alt ceisteanna ar an triú leathanach den spec pset.
Agus iarrann an chéad chuid leat dul agus an gearr féachaint ar atreorú agus píopaí.
Cé acu de chineál ar ghearr fionnuar, léiríonn tú roinnt nua, cleasanna líne fionnuar ordú gur féidir leat é a úsáid.
Agus ansin tá muid fuair cúpla ceist ar do shon chomh maith.
An chéad cheist faoi sruthanna, a scríobhann a printf de réir réamhshocraithe,
againn de chineál ar dteagmháil léi ar beagán ach beagán nóiméad ó shin.
Seo fprintf go raibh plé againn ach a thógann i sruth * comhad mar a argóint.
fclose Bíonn i sruth * comhad chomh maith,
agus tugann sé an luach ar ais fopen tú sruth * comhad chomh maith.
An fáth nach bhfuil feicthe againn iad siúd os comhair nuair atá muid ag déileáil le printf
toisc go mbíonn printf sruth réamhshocraithe.
Agus an sruth réamhshocraithe a scríobhann sé
go mbainfidh tú a fháil amach faoi sa ghearrthéarma.
Mar sin a ghlacadh cinnte le breathnú ar sé.
>> Sa lá atá inniu ann alt seo, táimid ag dul chun labhairt le beagán faoi GDB,
ó níos mó eolas a bhfuil tú leis, an cleachtas níos mó a fhaigheann tú leis,
an níos fearr ann beidh tú a fhiach síos i ndáiríre bugs i do chód féin.
Seo luasanna an próiseas debugging suas tremendously.
Mar sin, trí úsáid a bhaint printf, an bhfuil gach am a théann tú go bhfuil tú a recompile do chód,
caithfidh tú a rith sé arís, uaireanta, tá tú a bogadh an glaoch printf thart,
trácht a dhéanamh amach cód, a thógann sé ach ar feadh tamaill.
Is é ár gcuspóir chun iarracht a dhéanamh agus tú ina luí go bhfuil GDB, is féidir leat go bunúsach
rud ar bith printf ag pointe ar bith i do chód agus tú riamh a recompile é.
Tá tú riamh a thosú agus a choinneáil ar guessing nuair a printf seo chugainn.
Is é an chéad rud a dhéanamh a chóipeáil líne seo agus an cód alt fháil amach an ghréasáin.
Tá mé ag cóipeáil líne seo de chód a deir, "http://cdn.cs50.net wget".
Tá mé ag dul a chóipeáil sé.
Tá mé ag dul chun dul ar aghaidh go dtí mo fearas, zúmáil amach ionas gur féidir leat a fheiceáil cad mé ag déanamh,
pasting sé in ann, agus nuair a bhuail mé isteach, is é seo ordú wget literally ar an ngréasán a fháil.
Tá sé seo ag dul a tharraingt síos an comhad seo as an Idirlíon,
agus tá sé ag dul chun é a shábháil ar an chomhadlann reatha.
Anois, má tá mé liosta mo chomhadlann reatha féidir leat a fheiceáil go bhfuil mé fuair an comhad seo section5.zip ceart ann.
Is é an bealach chun déileáil leis an Guy a unzip é,
ar féidir leat a dhéanamh i na n-orduithe, díreach mar seo.
Section5.zip.
Beidh sé sin unzip é, a chruthú ar an fillteán le haghaidh dom,
inflate go léir an t-ábhar, iad a chur i ann.
Mar sin, anois is féidir liom dul isteach i mo eolaire alt 5 ag baint úsáide as an ordaithe cd.
Glan an scáileán ag baint úsáide as soiléir. Mar sin, soiléir ar an scáileán.
Anois, tá fuair mé teirminéal deas glan chun déileáil leis.
>> Anois, má tá mé liosta na comhaid go léir a fheiceáil mé sa chomhadlann seo,
fheiceann tú go bhfuil mé fuair ceithre comhaid: buggy1, buggy2, buggy3, agus buggy4.
Tá mé chomh maith, a fhreagraíonn. Comhaid c.
Ní Táimid ag dul chun breathnú ar an. Comhaid c le haghaidh anois.
Ina áit sin, táimid ag dul chun iad a úsáid nuair a oscailt muid suas GDB.
Táimid tar éis iad a choinneáil timpeall ionas go bhfuil rochtain ar an cód foinse iarbhír nuair a bhíonn muid ag baint úsáide GDB,
ach tá an sprioc atá sa chuid seo den alt tinker timpeall le GDB
agus a fheiceáil conas is féidir linn é a úsáid chun an figiúr amach cad atá ar siúl cearr le gach ceann de na ceithre chlár Buggy.
Mar sin, táimid ag dul díreach go dtí thart ar an seomra i ndáiríre go tapa,
agus tá mé ag dul duine éigin a iarraidh a reáchtáil ar cheann de na cláir Buggy,
agus ansin beidh muid ag dul mar ghrúpa trí GDB, agus beidh orainn a fheiceáil cad is féidir linn a dhéanamh a shocrú leis na cláir,
nó ar a laghad a aithint cad atá ar siúl mícheart i ngach ceann acu.
Let tús thar anseo le Daniel. An mbeidh tú ag rith buggy1? A ligean ar a fheiceáil cad a tharlaíonn.
[Daniel] Deir sé níl an locht iarratas. >> Yeah. Go díreach.
Mar sin, má ritheann liom buggy1, a fháil mé locht seg.
Ag an bpointe seo, d'fhéadfadh mé in ann dul agus a oscailt buggy1.c suas,
iarracht a dhéanamh agus figiúr amach cad atá ar siúl mícheart,
ach ar cheann de na rudaí is obnoxious faoi seo earráid locht seg
is é sin nach ndéanann sé a insint duit ar cad a chuaigh líne de na rudaí chláir iarbhír mícheart agus bhris.
Tá tú de chineál ar a bheith chun breathnú ar an cód
agus figiúr amach ag baint úsáide as buille faoi thuairim agus a sheiceáil nó printf a fheiceáil cad atá ar siúl mícheart.
Ceann de na rudaí coolest faoi GDB é go bhfuil sé i ndáiríre, éasca i ndáiríre
chun an figiúr amach an líne ag a do tuairteanna chláir.
Is fiú go hiomlán é a úsáid, fiú amháin más rud go díreach as sin.
Mar sin, chun tosaithe suas GDB, cineál mé GDB, agus ansin mé a thabhairt sé an cosán ar an inrite gur mhaith liom a reáchtáil.
Anseo tá mé ag clóscríobh gdb ./buggy1.
Buail isteach. Tugann dom go léir an fhaisnéis cóipchirt,
agus síos anseo mbainfidh tú a fheiceáil an líne seo a deir, "siombailí Léitheoireachta ó / baile /
jharvard/section5/buggy1. "
Agus má théann gach maith, feicfidh tú é a phriontáil amach teachtaireacht go Breathnaíonn mar seo.
Beidh sé siombailí a léamh, beidh sé a rá "Tá mé ag siombailí a léamh ó do chomhad inrite,"
agus ansin beidh sé seo "déanta" teachtaireacht thar anseo.
Má fheiceann tú roinnt éagsúlachta eile de seo, nó a fheiceann tú nach bhféadfadh sé teacht ar na siombailí
nó rud éigin mar sin, cad a chiallaíonn go bhfuil tú nach bhfuil le chéile ach do inrite i gceart.
Nuair a thiomsú cláir lena n-úsáid le GDB, ní mór dúinn úsáid a bhaint as an suaitheantas sin speisialta-g,
agus tá sin déanta de réir réamhshocraithe má tá tú a thiomsú do chláir, ach ag clóscríobh a dhéanamh
nó a chur ar Buggy nó a ghnóthú, aon cheann de na.
Ach má tá tú ag a thiomsú de láimh le clang, ansin beidh tú ag dul i agus-g bratach san áireamh.
>> Ag an bpointe seo, anois go bhfuil ár n-GDB pras,
tá sé deas simplí a reáchtáil ar an gclár.
Is féidir linn cineál ceachtar rith, nó is féidir linn cineál r díreach.
Is féidir orduithe GDB an chuid is mó a ghiorrú.
De ghnáth, chun amháin nó litreacha lánúin, a bhfuil go leor deas.
Mar sin Saad, más rud é scríobhann tú r, agus brúigh Iontráil, cad a tharlaíonn?
[Saad] Fuair ​​mé SIGSEGV, locht deighilt, agus ansin seo go léir gobbledygook.
>> Yeah.
Cosúil táimid ag féachaint ar ar an scáileán ceart anois, agus is maith Saad dúirt sé,
nuair a chlóscríobh againn a reáchtáil nó r agus bhuail isteach, a fháil againn fós ar an locht seg céanna.
Ní Mar sin, ag baint úsáide as GDB réiteach ar ár fhadhb.
Ach tugann sé dúinn roinnt gobbledygook, agus casadh sé amach go bhfuil an gobbledygook
i ndáiríre insíonn dúinn an áit atá ag tarlú é.
Chun pharsáil seo beagán beag, tá an beagán den chéad uair an fheidhm a tá gach rud ag dul mícheart.
Níl an __ strcmp_sse4_2, agus insíonn sé dúinn go atá ag tarlú é i gcomhad seo
ar a dtugtar sysdeps/i386, seo go léir, arís, de chineál ar praiseach - ach líne 254.
Sin de chineál ar deacair a pharsáil. De ghnáth, nuair a fheiceann tú rudaí mar seo,
go Ciallaíonn sé sin go s seg sé éascadh i gceann de na leabharlanna chórais.
Mar sin, rud éigin a dhéanamh leis an strcmp. Tá tú guys feicthe strcmp roimh.
Ní dÚsachtach freisin, ach a chiallaíonn sé seo go bhfuil strcmp briste nó go bhfuil fadhb le strcmp?
Cad a cheapann tú, Alexander?
[Alexander] An é sin - is é 254 an líne? Agus an - nach bhfuil an dénártha, ach nach bhfuil sé a n-uasteorainneacha,
agus ansin níl teanga eile do gach feidhm. An é sin 254 i fheidhm sin, nó -?
>> Tá sé ag teacht 254. Breathnaíonn sé cosúil sa chomhad seo. S, mar sin tá sé cód tionól ar dócha.
>> Ach, buille faoi thuairim mé é an rud níos práinní, mar tá muid gotten locht seg,
agus tá sé cosúil tá sé ag teacht as an bhfeidhm strcmp,
sé seo le tuiscint, ansin, go strcmp briste?
Níor chóir sé, tá súil againn. Mar sin, toisc go díreach a bhfuil tú locht ar deighilte
i gceann de na feidhmeanna chórais, ciallaíonn de ghnáth go bhfuil tú nach bhfuil ar a dtugtar ach é i gceart.
Is é an rud is tapúla a dhéanamh chun an figiúr amach cad atá ar siúl iarbhír ar
nuair a fheiceann tú rud éigin dÚsachtach mar seo, aon uair a fheiceann tú locht seg,
go háirithe má tá tú clár a tá ag baint úsáide as níos mó ná is mó,
Is a úsáid cúl-lorg.
I abbreviate cúl-lorg trí scríobh BT, le hais an focal cúl-lorg iomlán.
Ach Charlotte, cad a tharlaíonn nuair a scríobhann tú BT agus bhuail isteach?
[Charlotte] Taispeánann sé dom dhá líne, 0 líne agus líne 1.
>> Yeah. Líne 0 sin, agus líne 1.
Is iad seo na frámaí Stack iarbhír a bhí i láthair na huaire spraoi nuair a thuairteáil do chlár.
Ag tosú as an fráma mbarr an tí, fráma 0, agus ag dul go dtí an bun-chuid is mó, a bhfuil fráma 1.
Is é ár fráma mbarr an tí ar an fráma strcmp.
Is féidir leat smaoineamh seo mar cosúil leis an fhadhb, bhí muid ag déanamh díreach ar an tráth na gceist le leideanna,
áit a raibh muid ag babhtála fráma cruaiche ar bharr an fráma cruaiche is mó,
agus bhí againn ar an athróg a bhí ag baint úsáide as babhtáil ar bharr na hathróga a bhí is mó ag baint úsáide as.
Seo a tharla ár tuairteála i ár bhfeidhm strcmp, bhí ar a dtugtar ag ár n-fheidhm is mó,
agus cúl-lorg a thabhairt dúinn, ní hamháin na feidhmeanna inar mhainnigh rudaí,
ach tá sé chomh maith a insint dúinn nuair a bhí ar a dtugtar gach rud ó.
Mar sin má scrollbharra mé thar beagán níos mó leis an gceart,
is féidir linn a fheiceáil go yeah, bhí muid ar líne 254 den comhad seo strcmp-sse4.s.
Ach rinneadh an glaoch ar buggy1.c, líne 6.
Mar sin, go chiallaíonn gur féidir linn a dhéanamh - tá is féidir linn dul díreach a sheiceáil amach agus féach cad a bhí ar siúl
ag buggy1.c, líne 6.
Arís, tá bealaí cúpla seo a dhéanamh. Is é ceann a scoir as GDB
nó a bhfuil do chód oscailt i bhfuinneog eile agus tagairt trasteorann.
Sin, i agus de féin, tá go leor handy mar anois má tá tú ag uaireanta oifige
agus tá tú bhí locht seg agus tá do TF wondering áit a raibh gach rud a bhriseadh,
is féidir leat ach a rá, "Oh, líne 6. Níl a fhios agam cad atá ar siúl,
ach tá rud éigin faoi líne 6 is cúis le mo chlár a bhriseadh. "
Is é an bealach eile a dhéanamh is féidir leat seo a úsáid ordú ar a dtugtar liosta i GDB.
Is féidir leat a abbreviate freisin le l.
Mar sin má bhuail muid l, cad a dhéanann muid a fháil anseo?
Faighimid a bunch iomlán de stuif aisteach.
Is é seo an cód tionól iarbhír
go bhfuil i strcmp_sse4_2.
Breathnaíonn sé seo de chineál ar funky,
agus is é an chúis táimid ag dul seo toisc go ceart anois,
GDB Tá muid i bhfráma 0.
>> Mar sin, ag am ar bith táimid ag athróga, aon uair a fhéachann muid ar cód foinse,
táimid ag féachaint ar cód foinse go bhfuil pertains chun an fráma cruaiche againn faoi láthair isteach
Mar sin, d'fhonn a fháil rud ar bith fiúntach, ní mór dúinn a
a aistriú go dtí fráma Stack a bhfuil ciall níos mó.
Sa chás seo, bheadh ​​an fráma cruaiche mó ciall a bhaint as beagán níos mó,
toisc go raibh go iarbhír an cód gur scríobh againn.
Gan an cód strcmp.
An bealach is féidir leat bogadh idir frámaí, sa chás seo, toisc go bhfuil muid dhá,
ní mór dúinn 0 agus 1,
a dhéanann tú go bhfuil an suas agus síos orduithe.
Má bhogann mé suas amháin fráma,
anois tá mé i bhfráma Stack is mó.
Is féidir liom bogadh síos chun dul ar ais chuig nuair a bhí mé,
dul suas arís, dul síos arís, agus dul suas arís.
Má dhéanann tú riamh do chlár i GDB, gheobhaidh tú tuairteála, gheobhaidh tú an cúl-lorg,
agus a fheiceann tú go bhfuil sé i roinnt comhad nach bhfuil a fhios agat cad atá ar siúl.
Iarracht tú liosta, nach bhfuil an cód breathnú ar an eolas a thabhairt duit,
ghlacadh le breathnú ar do frámaí agus figiúr amach cén áit a bhfuil tú.
Tá tú dócha sa fráma Stack mícheart.
Nó ar a laghad tá tú i bhfráma Stack nach bhfuil ceann amháin gur féidir leat a dífhabhtaithe i ndáiríre.
Anois go bhfuil muid i bhfráma Stack cuí, táimid i is mó,
anois is féidir linn úsáid a bhaint as an t-ordú liosta a dhéanamh amach cad a bhí ar an líne.
Agus is féidir leat é a fheiceáil; sé clóbhuailte sé dúinn ar dheis anseo.
Ach is féidir linn a bhuail liosta léir mar an gcéanna, agus liosta Tugann sé seo dúinn an printout deas
an cód foinse iarbhír ar siúl i anseo.
>> Go háirithe, is féidir linn breathnú ar líne 6.
Is féidir linn a fheiceáil cad atá ar siúl anseo.
Agus tá sé cosúil tá muid ag déanamh comparáid idir teaghrán
idir an teaghrán "CS50 carraigeacha" agus argv [1].
Rud faoi seo bhí crashing.
Mar sin, Missy, an bhfuil aon smaointe agaibh d'fhéadfadh a bheith ar siúl anseo?
[Missy] Níl a fhios agam cén fáth crashing sé. >> Níl a fhios agat cén fáth crashing sé?
Jimmy, aon smaointe?
[Jimmy] Níl mé go hiomlán cinnte, ach an uair dheireanach a úsáid le linn teaghrán chur i gcomparáid,
nó strcmp, bhí againn trí mhaith cásanna éagsúla faoi.
Ní raibh muid go mbeadh ==, ní dóigh liom go bhfuil, ar dheis sa chéad líne.
Bhí scartha Ina áit sin é i dtrí, agus ceann a bhí == 0,
Bhí ceann amháin <0, I mo thuairimse, agus bhí sé ar dhuine> 0.
Mar sin, b'fhéidir rud éigin mar sin? >> Yeah. Mar sin, níl an tsaincheist seo
de á dhéanamh againn a chur i gcomparáid i gceart?
Stella? Aon smaointe?
[Stella] Níl mé cinnte. >> Níl mé cinnte. Daniel? Smaointe? Maith go leor.
Casadh sé amach cad atá ag tarlú ar dheis anseo nuair a bhí ar siúl againn ar an gclár
agus fuair muid an locht seg, nuair a bhí ar siúl tú an clár don chéad uair, Daniel,
raibh tú a thabhairt dó aon argóintí?
[Daniel] Uimh >> Uimh Sa chás sin, cad é an luach argv [1]?
>> Níl aon luach. >> Ceart.
Bhuel, níl aon luach teaghrán cuí.
Ach tá roinnt luach. Cad é an luach go bhfaigheann stóráil i ann?
>> A luach truflais? >> Tá sé ceachtar luach truflais nó, sa chás seo,
Is é an deireadh an sraith argv fhoirceannadh i gcónaí le null.
Mar sin, cad a fuair a stóráil i ndáiríre i bhfuil null.
Is é an bealach eile chun an fhadhb seo, seachas ag smaoineamh sé trí,
Tá iarracht í a phriontáil amach.
Tá sé seo nuair a bhí á rá liom go bhfuil baint úsáide as GDB mór,
mar is féidir leat a phriontáil amach ar fad na hathróga, na luachanna gur mian leat
baint úsáide as an handy-dandy p ordú.
Mar sin má mé cineál p agus ansin mé cineál luach athróg nó ainm athraitheach,
rá, argc, feicim go bhfuil argc 1.
Más mian liom a phriontáil amach argv [0], is féidir liom é sin a dhéanamh díreach mar sin.
Agus mar a chonaic muid, argv [0] i gcónaí ar an ainm do chlár,
i gcónaí ar an ainm an inrite.
Anseo a fheiceann tú é ag fuair an t-ainm chonair iomlán.
Is féidir liom a phriontáil amach freisin argv [1] agus féach cad a tharlaíonn.
>> Anseo fuair muid an gcineál seo de luach mystical.
Fuair ​​muid an 0x0.
Cuimhnigh ag tús an téarma nuair a labhair muid faoi uimhreacha heicsidheachúlach?
Nó an cheist sin beag ag deireadh pset 0 faoi conas chun ionadaíocht a dhéanamh 50 heicsidheachúlach?
An bealach a scríobh againn ar líon heicsidheachúlach i CS, ní hamháin chun mearbhall féin
le líon dheachúlach tá réimír muid i gcónaí iad le 0x.
Mar sin, seo réimír 0x ciallaíonn i gcónaí ach a léirmhíniú an uimhir seo a leanas mar uimhir heicsidheachúlach,
Ní mar theaghrán, ní mar uimhir dheachúlach, ní mar líon dénártha.
Ós rud é go bhfuil an uimhir 5-0 uimhir bhailí i heicsidheachúlach.
Agus tá sé roinnt i dheachúlach, 50.
Mar sin, tá sé seo ach conas a disambiguate.
Mar sin, 0x0 ciallaíonn 0 heicsidheachúlach, a bhfuil freisin dheachúlach 0, dhénártha 0.
Tá sé díreach ar an 0 luach.
Casadh sé amach go bhfuil an méid atá faoin margadh saothair, i ndáiríre, i gcuimhne.
Nialasacha ach 0.
Anseo, an eilimint stóráilte ag argv [1] Eolas faoin margadh saothair.
Mar sin, táimid ag iarraidh ár "CS50 carraigeacha" teaghrán i gcomparáid le teaghrán Eolas faoin margadh saothair.
Mar sin, dereferencing null, ag iarraidh chun rudaí a rochtain ag null,
iad siúd ag dul de ghnáth a chur faoi deara de chineál éigin locht deighilt nó rudaí dona eile a tharlóidh.
Agus casadh sé amach nach strcmp seiceáil a fheiceáil
cibé acu atá nó nach bhfuil tú a ritheadh ​​i luach go null.
Ina ionad sin, téann sé díreach roimh iarracht, a dhéanamh ar a rud,
agus má tá sé lochtanna seg, tá sé lochtanna seg, agus tá sé d'fhadhb. Tá tú ag dul a shocrú.
I ndáiríre go tapa, d'fhéadfadh conas a shocrú an fhadhb seo? Charlotte?
[Charlotte] Is féidir leat seiceáil a úsáid más rud é.
Mar sin, má argv [1] Eolas faoin margadh saothair, == 0, ar ais ansin 1, nó rud éigin [dothuigthe].
>> Yeah. Mar sin, go bhfuil ceann slí iontach chun é a dhéanamh, mar is féidir linn a sheiceáil a fheiceáil,
an luach táimid ar tí é a pas a fháil i strcmp, argv [1], tá sé nialasach?
Má tá sé null, ansin is féidir linn a rá ceart go leor, tobscoir.
>> Is bealach níos coitianta chun é seo a úsáid a bhaint as an luach argc.
Is féidir leat a fheiceáil ar dheis anseo ag tús is mó,
fágtha ar lár againn go tástáil chéad uair a dhéanann muid de ghnáth nuair a úsáid againn ar argóintí,
atá le tástáil a dhéanamh cibé acu atá nó nach bhfuil ár n-luach argc cad súil againn.
Sa chás seo, tá muid ag súil ar a laghad dhá argóint,
an t-ainm ar an gclár chomh maith le ceann eile.
Toisc go bhfuil muid ar tí é a bhaint as an dara hargóint ar dheis anseo.
Mar sin, a bhfuil de chineál éigin tástála roimh ré, roimh ár glaoch strcmp
go mbeadh tástálacha cibé acu atá nó nach bhfuil argv ar a laghad 2, a dhéanamh freisin an saghas céanna rud.
Is féidir linn a fheiceáil má oibríonn go bhfuil ag rith ar an gclár arís.
Is féidir leat a atosú i gcónaí do chlár laistigh GDB, a bhfuil gur deas.
Is féidir leat a rith, agus nuair a théann tú i argóintí le do chlár,
éiríonn leat iad nuair a glaoch tú ag rith, ní nuair tosaithe tú suas GDB.
Sa chaoi sin is féidir leat a choimeád leas a bhaint as do chlár le hargóintí difriúil gach uair.
Mar sin, rith, nó arís, is féidir clóscríobh r liom, agus a ligean ar a fheiceáil cad a tharlaíonn má cineál muid "hello".
Beidh sé a iarraidh i gcónaí leat más mian leat a thosú ón tús arís.
De ghnáth, an bhfuil tú ag iarraidh a thosú ón tús arís.
Agus ag an bpointe seo, a atosaíonn sé arís, priontaí sé amach
ar an gclár go bhfuil muid ag rith, buggy1, leis an argóint hello,
agus priontaí sé seo amach caighdeán; deir sé, "gheobhaidh tú D," aghaidh brónach.
Ach ní raibh muid ag seg locht. Dúirt sé leis an bpróiseas sendmail de ghnáth.
Mar sin, Breathnaíonn go maith go leor.
Níl aon locht níos seg, rinne muid am atá caite é,
sin tá sé cosúil go raibh go deimhin, an fabht locht seg go raibh ag éirí linn.
Ar an drochuair, insíonn sé dúinn go bhfuil muid ag dul a D.
>> Is féidir linn dul ar ais agus féachaint ar an gcód agus féach cad a bhí ar siúl ann
chun an figiúr amach cad a bhí - cén fáth go raibh insint sé ar ár gcumas go bhfuair muid D.
A ligean ar a fheiceáil, bhí anseo an rá printf go bhfuair tú D.
Má táimid cineál liosta, mar is tú a choinneáil liosta clóscríobh, coimeádann sé iterating síos tríd do chlár,
mar sin beidh sé léiríonn tú na línte chéad chúpla de do chlár.
Ansin, beidh sé léiríonn tú na línte amach romhainn, agus an smután eile agus an smután eile.
Agus beidh sé a choinneáil ag iarraidh chun dul síos.
Agus anois beidh orainn a fháil chun "líne go bhfuil uimhir 16 as raon."
Toisc go bhfuil sé ach 15 línte.
Má fhaigheann tú leis an bpointe seo agus do wondering, "Cad a dhéanfaidh mé?" is féidir leat úsáid an t-ordú cabhrú leat.
Bain úsáid as cúnamh agus ansin a thabhairt an t-ainm ar a dtoil é.
Agus a fheiceann tú a thugann an GDB dúinn go léir an saghas stuif.
Deir sé, "Mura bhfuil argóint liostaí, deich línte níos mó tar éis nó ar fud an liosta roimhe seo.
Liostaíonn an deich línte roimh - - Liosta "
Mar sin a ligean triail as lúide liosta.
Agus liostaíonn go bhfuil an 10 línte roimhe seo; is féidir leat imirt ar fud leis an liosta le beagán.
Is féidir leat é liosta, liosta -, is féidir leat a thabhairt fiú liosta de roinnt, cosúil le liosta 8,
agus beidh sé liosta de na 10 línte timpeall líne 8.
Agus is féidir leat a fheiceáil cad atá ar siúl anseo tá tú bhí simplí más eile.
Má chlóscríobhann tú i CS50 carraigeacha, priontaí sé amach "gheobhaidh tú an A."
Seachas sin priontaí sé amach "gheobhaidh tú D."
Bummer bhaile. Gach ceart. Tá?
>> [Daniel] Mar sin nuair a rinne mé ag déanamh CS50 carraigeacha gan na comharthaí athfhriotail,
deir sé "gheobhaidh tú D."
Is gá dom na comharthaí athfhriotail chun é a fháil a bheith ag obair; cén fáth a bhfuil sin?
>> Yeah. Casadh sé amach go nuair a - tá sé seo eile tidbit spraoi beag -
nuair a ritheann tú an clár, má ritheann linn é agus cineál muid i CS50 carraigeacha,
díreach mar a bhí Daniel rá a rinne sé, agus bhuail tú isteach,
a deir sé fós againn a fháil D.
Agus is é an cheist, cén fáth é seo?
Agus casadh sé amach go bhfuil an dá ár críochfoirt agus GDB pharsáil seo mar dhá argóint ar leith.
Toisc nuair a bhíonn spás, go bhfuil intuigthe mar
an chéad argóint dar críoch sin; is é an argóint eile ar tí tosú.
An bealach a chur le chéile iad siúd i dhá, nó tá brón orainn, i argóint amháin,
Is é a úsáid Sleachta.
Mar sin anois, má táimid a chur i Sleachta agus é a reáchtáil arís, a fháil againn A.
Mar sin, ach a recap, aon Sleachta, CS50 agus carraigeacha a pharsáil mar dhá argóint ar leith.
Le Sleachta, tá sé pharsáil mar argóint amháin ar fad.
>> Is féidir linn a fheiceáil seo le brisphointe.
Go dtí seo tá muid ag rith ár gclár, agus é ar siúl
go dtí go seg sé lochtanna nó amas earráid
nó go dtí go sendmail sé agus go léir a bhí go hiomlán fíneáil.
Ní hé seo an gá an rud is cabhrach, mar gheall ar uaireanta
tá tú botún i do chlár, ach nach bhfuil cúis é an locht deighilte.
Níl cúis é do chlár a stopadh nó aon rud mar sin.
An bealach GDB a fháil chun sos do chlár ag pointe áirithe
Is a shocrú brisphointe.
Is féidir leat é ceachtar seo a dhéanamh trí shocrú brisphointe ar ainm na feidhme
nó is féidir leat a shocrú le brisphointe ar líne ar leith de chód.
Is maith liom a shocrú Brisphointí ar ainmneacha fheidhm, mar gheall ar - éasca le cuimhneamh,
agus má théann tú i ndáiríre i agus do cód foinse a athrú suas le beagán,
ansin beidh do brisphointe fanacht i ndáiríre san áit chéanna laistigh de do chód.
De bharr an méid má tá tú ag baint úsáide as uimhreacha líne, agus na huimhreacha líne a athrú
toisc go bhfuil tú a chur nó a scriosadh roinnt cód, ansin do Brisphointí go léir screwed suas go hiomlán.
Ceann de na rudaí is coitianta is féidir liom é a shocrú le brisphointe ar an fheidhm is mó.
Is minic a beidh mé tosaithe suas GDB, beidh mé cineál b mó, bhuail isteach, agus beidh go brisphointe a leagtar
ar an phríomhfheidhm a deir go díreach, "sos ar an gclár chomh luath is a thosaíonn tú ag rith,"
agus ar an mbealach sin, nuair a ritheann liom mo chlár leis, a rá, CS50 carraigeacha mar dhá argóint
agus bhuail Cuir isteach, faigheann sé an fheidhm is mó agus stopann sé ceart ag an líne an-an chéad,
ceart roimh meastóireacht sé an fheidhm strcmp.
>> Ós rud é mé ar shos, anois is féidir liom tosú ag mucking timpeall agus go bhfaca cad atá ar siúl
le gach ceann de na hathróga éagsúla ar aghaidh i mo chlár.
Anseo, is féidir liom a phriontáil amach argc agus féach cad atá ar siúl.
Féach go bhfuil argc 3, mar tá sé fuair 3 luachanna difriúla ann.
Tá sé seo fuair an t-ainm an chláir, tá sé fuair an argóint chéad agus an dara hargóint.
Is féidir linn a phriontáil sin amach trí bhreathnú ar argv [0], argv [1], agus argv [2].
Mar sin, anois is féidir leat a fheiceáil freisin cén fáth go bhfuil an glaoch strcmp ag dul a theipeann,
mar a fheiceann tú go raibh scoilt sé suas an CS50 agus ar na carraigeacha ina dhá argóint ar leith.
Ag an bpointe seo, nuair atá tú bhuail brisphointe, is féidir leat leanúint ar aghaidh chun céim trí do chlár
líne ar líne, i gcomparáid le tosú do chlár arís.
Mar sin, más rud é nach bhfuil tú ag iarraidh a thosú do chlár arís agus díreach ar aghaidh ar aghaidh ó anseo,
is féidir leat úsáid an t-ordú ar aghaidh agus leanfaidh sé ar aghaidh leis an gclár a reáchtáil chun an deireadh.
Díreach mar a rinne sé anseo.
Mar sin féin, má atosú ar an gclár, CS50 carraigeacha, amas sé mo brisphointe arís,
agus an uair seo, más rud é nach bhfuil mé ag iarraidh go díreach dul go léir ar an bhealach a dhéanamh tríd an chuid eile den chlár,
Is féidir liom a úsáid an t-ordú seo chugainn, a bhfuil mé abbreviate freisin le n.
Agus beidh sé seo céim tríd an líne gclár líne.
Mar sin, is féidir leat féachaint mar a fhorghníomhú rudaí, mar athróga maidir le hathrú, de réir mar rudaí a fháil suas chun dáta.
Cé acu is deas go leor.
Is é an rud eile fuarú seachas athrá ar an ordú céanna arís agus arís agus arís eile,
má tá tú bhuail díreach isteach - mar sin anseo a fheiceann tú nach bhfuil mé clóscríofa i rud ar bith -
má bhuail mé díreach tar Cuir isteach, beidh sé arís an t-ordú roimhe sin,
nó an ordaithe GDB roimhe seo go bhfuil mé a chur díreach isteach
Is féidir liom a choinneáil ag bualadh isteach agus beidh sé a choinneáil ar ghéarú trí mo líne cód le líne.
Ba mhaith liom tú a spreagadh guys dul seiceáil amach na cláir Buggy eile chomh maith.
Ní chuirimid ag am chun a fháil trí gach ceann acu inniu in alt.
Is é an cód foinse ann, ionas gur féidir leat cineál a fheiceáil cad atá ar siúl
taobh thiar de na radhairc má tá tú bhfostú i ndáiríre,
ach ar a laghad, a chleachtadh ach booting suas GDB,
reáchtáil an chláir go dtí go bhriseann sé ar tú,
ag fáil an cúl-lorg, figuring amach cad feidhmiú an timpiste a bhí i,
cén líne a bhí sé ar, a phriontáil amach roinnt luachanna athraitheach,
ach mar sin leat a fháil bhraitheann ar sé, mar go mbeidh a chabhróidh i ndáiríre tú ag dul ar aghaidh.
Ag an bpointe seo, táimid ag dul a scor as GDB, a dhéanann tú ag baint úsáide as scor nó díreach q.
Má tá do chlár i lár an rith go fóill, agus nach bhfuil sendmail sé,
beidh sé a iarraidh i gcónaí leat, "An bhfuil tú cinnte gur mian leat a scor?"
Is féidir leat a bhuail díreach yes.
>> Anois, tá muid ag dul chun breathnú ar an bhfadhb seo chugainn againn, a bhfuil an clár cat.
Má tá tú ag féachaint ar an gearr ar atreorú agus píobáin eile, beidh tú a fheiceáil go n-úsáideann Tommy an clár seo
go priontaí bunúsach go léir an t-aschur comhad chuig an scáileán.
Mar sin, má ritheann mé cat, tá sé seo i ndáiríre ar chlár tógtha i chun an fearas,
agus má tá tú Macs tá is féidir leat é seo a dhéanamh ar do Mac freisin, má tá tú ag oscailt suas teirminéil.
Agus muid - cat, a ligean le rá, cp.c, agus brúigh Iontráil.
Cad a rinne seo, más scrollbharra muid suas le beagán agus a fheiceáil nuair a bhí ar siúl againn ar an líne,
nó i gcás ar siúl againn an t-ordú cat, tá sé literally gcló díreach amach an t-ábhar cp.c ar ár scáileán.
Is féidir linn a reáchtáil arís agus is féidir leat a chur i comhaid iomadúla le chéile.
Mar sin, is féidir leat a dhéanamh cp.c cat, agus ansin is féidir linn a iarcheangal leis an comhad cat.c freisin,
Is é an clár go bhfuil muid ar tí é a scríobh,
agus beidh é a phriontáil na comhaid araon a droim le droim ar ár scáileán.
Mar sin má scrollbharra muid suas le beagán, feicimid go nuair a bhí ar siúl againn an cp.c cat, cat.c,
chéad chló sé amach an comhad cp, agus ansin faoi bhun sé, clóite sé amach an comhad cat.c dheis anseo síos.
Táimid ag dul a úsáid chun a fháil ach ar ár chosa fliuch.
Seinn timpeall le priontáil simplí chun an teirminéal, a fheiceáil conas a oibríonn.
Má tá tú guys a oscailt suas le gedit cat.c, bhuail isteach,
féidir leat a fheiceáil ar an gclár go bhfuil muid ar tí é a scríobh.
Táimid tar éis san áireamh an pláta coire deas, mar sin nach bhfuil againn am a chaitheamh clóscríobh go léir amach.
Táimid ag seiceáil freisin ar líon na hargóintí a ritheadh ​​isteach
Phriontáil muid amach taispeáin an chabhair seo deas.
>> Is é seo an saghas rud go bhfuil, arís, cosúil tá muid ag caint faoi,
tá sé beagnach cosúil le cuimhne muscle.
Just dearmad a choinneáil ag déanamh an saghas céanna de na rudaí
agus a phriontáil i gcónaí as éigin de theachtaireacht cabhrach
ionas go mbeidh a fhios ag daoine conas a rith do chlár.
Le cat, tá sé simplí go leor; táimid ag dul go díreach chun dul tríd gach ceann de na hargóintí éagsúla a
Ritheadh ​​go dtí ár gclár, agus táimid ag dul i gcló
a bhfuil iontu amach go dtí an scáileán amháin ag an am.
D'fhonn comhaid a phriontáil amach ar an scáileán, táimid ag dul chun rud éigin an-chosúil
leis an méid a rinne muid ag deireadh an tráth na gceist.
Ag deireadh an tráth na gceist, a fhostú clár, bhí againn a oscailt suas le comhad,
agus ansin bhí orainn a phriontáil é.
Sa chás seo, táimid ag dul a oscailt suas le comhad, agus táimid ag dul a léamh ó sé ina ionad.
Ansin tá muid ag dul i gcló, in ionad chun an comhad, táimid ag dul i gcló ar an scáileán.
Mar sin, priontáil ar an scáileán atá déanta agat go léir os comhair le printf.
Mar sin, ní go ró-dÚsachtach.
Ach tá léamh comhad de chineál ar aisteach.
Beidh muid ag dul tríd an beagán go beag ag an am.
Má théann tú guys ar ais go dtí go bhfuil fadhb deireanach ar do tráth na gceist, fadhb 33,
an chéad líne go bhfuil muid ag dul a dhéanamh anseo, ag oscailt an comhad, tá an-cosúil le cad a rinne muid ann.
Mar sin, Stella, cad a dhéanann gur cuma líne cosúil le, nuair a oscailt comhad?
[Stella] * COMHAD Caipitil, file - >> Maith go leor. >> - Is comhionann le fopen. >> Yup.
Cé acu is sa chás seo? Tá sé i comment.
>> Tá sé i comment? argv [i] agus r?
>> Go díreach. Ceart ar. Mar sin, Stella go hiomlán ceart.
Tá sé seo conas mar a bhreathnaíonn an líne mhaith.
Táimid ag dul a fháil ar athróg sruth comhad, é a stóráil i * COMHAD, agus mar sin go léir caipíní,
Beidh COMHAD, *, agus ainm an athróg comhaid.
D'fhéadfadh muid a ghlaoch air is cuma cén mhaith dúinn. D'fhéadfadh muid a ghlaoch first_file sé, nó file_i, is cuma cad ba mhaith linn.
Agus aghaidh ansin an t-ainm an chomhaid sa ar an líne ordaithe leis an gclár seo.
Mar sin, tá sé stóráilte i argv [i,] agus ansin táimid ag dul a oscailt an comhad seo i mód léamh.
Anois go atá againn d'oscail an comhad, cad é an rud atá againn i gcónaí chun dearmad a dhéanamh
aon uair atá déanta againn oscail comhad? Dhúnadh.
Mar sin, Missy, conas is féidir linn a dhúnadh comhad?
[Missy] fclose (comhad) >> fclose (comhad). Go díreach.
Great. Maith go leor. Má táimid ar an trácht a dhéanamh ar dheis anseo,
a deir sé, "Oscail argv [i] agus a bhfuil ann a phriontáil go stdout."
>> Is Caighdeán amach ainm aisteach. Is é stdout ach ár slí ag rá
ba mhaith linn é a phriontáil chuig an teirminéal; ba mhaith linn é a phriontáil leis an sruth aschur caighdeánach.
Is féidir linn a fháil i ndáiríre haitheantas coibhneasta an trácht ar dheis anseo.
Tá mé ag dul a chóipeáil sé agus é a ghreamú ó go bhfuil an méid a rinne muid.
Ag an bpointe seo, anois ní mór dúinn a léamh ar an giotán comhad le beagán.
Táimid tar éis plé cúpla bealaí de chomhaid a léamh.
Cad iad na cinn is ansa leat go dtí seo?
Cad iad na bealaí bhfaca tú nó an bhfuil tú ag cuimhneamh, chun comhaid a léamh?
[Daniel] fread? >> Fread? Mar sin, fread amháin. Jimmy, an bhfuil a fhios agat ar aon daoine eile?
[Jimmy] Uimh >> Maith go leor. Nope. Charlotte? Alexander? Aon daoine eile? Maith go leor.
Mar sin, tá na cinn eile fgetc, tá ceann a beidh orainn a úsáid go leor.
Níl freisin fscanf; tú guys a fheiceáil patrún anseo?
Siad tús a chur le gach f. Rud ar bith a dhéanamh le comhad.
Níl fread, fgetc, fscanf. Is iad seo na feidhmeanna go léir a léamh.
Do scríobh againn fwrite, ní mór dúinn fputc ionad fgetc.
Táimid chomh maith go bhfuil buíochas fprintf chonaic muid ar an tráth na gceist.
Ós rud é seo ina fhadhb a mbíonn i gceist léamh ó chomhad,
táimid ag dul a úsáid ar cheann de na trí feidhmeanna.
Ní táimid ag dul chun úsáid na feidhmeanna síos anseo.
Na feidhmeanna sin le fáil go léir sa leabharlann caighdeánach I / O.
Mar sin, má fhéachann tú ar an barr an chláir seo,
féidir leat a fheiceáil go atá againn san áireamh cheana féin an comhad header don leabharlann caighdeánach I / O.
Má theastaíonn uainn chun an figiúr amach atá ar cheann ba mhaith linn a úsáid,
is féidir linn a oscailt suas i gcónaí na leathanaigh fear.
Mar sin, is féidir linn a chlóscríobh stdio fear
agus a léamh go léir faoi an t-ionchur stdio agus feidhmeanna aschur i C.
Agus is féidir linn a fheiceáil cheana féin ó, breathnú. Tá sé seo go léir ina luaitear fgetc, tá go léir ina luaitear sé fputc.
Mar sin, is féidir leat druil síos le beagán agus breathnú ar, a rá, fgetc
agus féach ar an leathanach fear.
Is féidir leat a fheiceáil go dtéann sé chomh maith le bunch iomlán de fheidhmeanna eile:
fgetc, fgets, getc, getchar, faigheann ungetc, agus a ionchur de charachtair agus teaghráin.
Mar sin, is é seo conas a léamh againn i gcarachtair agus teaghráin ó chomhaid as an ionchur caighdeánach,
atá go bunúsach ón úsáideoir.
Agus é seo conas a dhéanaimid é i C. iarbhír
Mar sin, nach bhfuil sé seo ag baint úsáide as an GetString agus feidhmeanna GetChar
a úsáid againn ón leabharlann CS50.
Táimid ag dul a dhéanamh an fhadhb seo i gceann cúpla bealaí
ionas gur féidir leat a fheiceáil ar dhá bhealach éagsúla a dhéanamh air.
Tá an dá an fheidhm fread a luaitear Daniel agus fgetc bealaí maith chun é a dhéanamh.
I mo thuairimse, fgetc bhfuil beagán níos éasca, toisc go bhfuil sé ach, mar a fheiceann tú,
argóint amháin, an * COMHAD go bhfuil muid ag iarraidh a léamh ar an carachtar as,
agus is é a luach ar ais ina slánuimhir.
Agus é seo a mearbhall beag, ceart?
>> Toisc go bhfuil muid ag dul le carachtar, agus mar sin ní cén fáth an tuairisceán seo a Char?
Tá tú guys aon smaointe maidir le cén fáth nach bhféadfadh sé seo ar ais Char?
[Freagraí Missy, dothuigthe] >> Yeah. Mar sin, Missy go hiomlán ceart.
Má tá sé ASCII, ansin d'fhéadfadh an slánuimhir a mhapáil go dtí Char iarbhír.
Níorbh fhéidir an carachtar ASCII, agus tá an ceart sin.
Sin é go díreach cad atá ag tarlú.
Táimid ag baint úsáide as slánuimhir ach toisc go bhfuil sé giotán níos mó.
Tá sé níos mó ná Char; ár Char bhfuil ach 8 giotán, go 1 beart ar ár 32-giotán meaisíní.
Agus tá o na 4 bytes 'fiú de spás.
Agus casadh sé amach go bhfuil an bealach a oibríonn fgetc,
má scrollú muid síos inár achoimre ar an leathanach seo fear le beagán,
scrollaigh léir ar an mbealach síos. Casadh sé amach go n-úsáideann siad an luach speisialta ar a dtugtar EO.
Tá sé ar tairiseach speisialta a ordóidh an luach ar ais an fheidhm fgetc
aon uair a bhuail tú ar deireadh an comhad nó má fhaigheann tú earráid.
Agus casadh sé amach go bhfuil a dhéanamh ar na comparáidí a dhéanamh le EO i gceart,
mian leat go mbeadh an méid sin sa bhreis faisnéise go bhfuil tú i slánuimhir
murab ionann agus ag baint úsáide as athróg Char.
Cé go bhfuil fgetc fáil go héifeachtach carachtar ó chomhad,
ba mhaith leat a mheabhrú go bhfuil a sheoladh ar ais rud éigin go bhfuil ar slánuimhir cineál a thabhairt duit.
É sin ráite, tá sé éasca go leor a úsáid.
Tá sé seo ag dul a thabhairt dúinn carachtar; mar sin tá gach ní mór dúinn a dhéanamh a choinneáil ag iarraidh ar an gcomhad,
"Tabhair dom an chéad charachtar, a thabhairt dom an chéad charachtar, a thabhairt dom an carachtar seo chugainn,"
go dtí go againn a fháil chun an deireadh an chomhaid.
Agus beidh a tharraingt i carachtar amháin ag an am as ár comhad,
agus ansin is féidir linn a dhéanamh is cuma cad is maith linn leis.
Is féidir linn a stóráil, is féidir linn é a chur ar shraith, is féidir é a phriontáil amach againn.
An bhfuil aon cheann de sin.
>> Zúmáil ar ais amach agus ag dul ar ais go dtí ár gclár cat.c,
má táimid ag dul a úsáid fgetc,
d'fhéadfadh conas cur chuige an líne seo chugainn de chód?
Táimid ag dul a úsáid - Beidh fread rud éigin a dhéanamh beagán difriúil.
Agus an uair seo, táimid ag dul díreach a úsáid fgetc a fháil ar aon charachtar amháin ag an am.
A phróiseáil comhad iomlán, a d'fhéadfadh cad a dhéanamh?
Cé mhéad carachtair atá ann i gcomhad?
Tá a lán. Mar sin, ba mhaith leat is dócha chun ceann a fháil
agus a fháil ansin, bealach eile agus ceann eile a fháil agus ceann eile a fháil.
Cén cineál algartam a cheapann tú d'fhéadfadh muid a úsáid anseo?
Cén cineál -? [Alexander] A haghaidh lúb? >> Go díreach.
Roinnt de chineál lúibe.
A haghaidh lúb i ndáiríre go hiontach, sa chás seo.
Agus mar go raibh tú ag rá, fuaimeanna sé cosúil mian leat lúb thar an comhad iomlán,
a fháil carachtar ag an am.
Aon mholtaí maidir le cad a d'fhéadfadh a bhfuil cuma mhaith?
[Alexander, dothuigthe]
>> Maith go leor, ach inis dom i mBéarla a bhfuil tú ag iarraidh a dhéanamh? [Alexander, dothuigthe]
Mar sin, sa chás seo, fuaimeanna sé cosúil le táimid ag iarraidh ach a lúb thar an comhad iomlán.
[Alexander] Mar sin i > An méid -?
Buille faoi thuairim mé an méid an chomhaid, ceart? An méid - we'll scríobh ach é mar seo.
Méid comhaid de thuras na huaire, i + +.
Mar sin, casadh sé amach go bhfuil an bealach a dhéanann tú é seo ag baint úsáide as fgetc, agus tá sé seo nua,
is é sin níl aon bhealach éasca a fháil ach an méid comhad
leis an gcineál "Is uimhir" de thógáil go atá tú ag feiceáil roimh.
Nuair a úsáideann muid an fheidhm fgetc, tá muid ag tabhairt isteach de chineál éigin
nua, comhréir funky leis seo le haghaidh lúb, i gcás seachas úsáid a bhaint ach cuntar bunúsach
dul carachtar le carachtar, táimid ag dul a tharraingt ar aon charachtar amháin ag an am,
carachtar amháin ag an am, agus an bealach a fhios againn táimid ag an deireadh
nach nuair atá againn san áireamh líon áirithe de charachtair,
ach nuair a bhíonn an carachtar tarraingt muid amach go bhfuil deireadh speisialta carachtar comhaid.
Mar sin, is féidir linn a dhéanamh trí - glaoch mé an ch, agus táimid ag dul a thúsú sé
lenár chéad ghlaoch a fháil ar an chéad charachtar as an comhad.
Mar sin, an chuid ar dheis anseo, tá sé seo ag dul a fháil carachtar as an gcomhad
agus a stóráil sé isteach ar an ch athraitheach.
Táimid ag dul a choinneáil ar é seo a dhéanamh go dtí go linn a fháil go dtí deireadh an comhad,
a dhéanann muid ag tástáil le haghaidh an carachtar gan a bheith comhionann leis an carachtar EO speisialta.
Agus ansin in ionad a dhéanamh ch + +, rud a incrimint ach an luach,
mar sin má léigh muid amach A den comhad, caipitil A, a rá,
ch + + bheadh ​​a thabhairt dúinn b, agus ansin gur mhaith a fháil c agus ansin d againn.
Sin nach bhfuil go soiléir cad ba mhaith linn. Cad ba mhaith linn anseo
sa giotán deireanach é ba mhaith linn a fháil ar an chéad charachtar as an comhad.
>> Mar sin, d'fhéadfadh conas a fháil ar an chéad charachtar ón gcomhad?
Conas is féidir linn a fháil ar an chéad charachtar ón gcomhad?
[Mac Léinn] fgetfile? >> Fgetc, nó, tá brón orainn, bhí tú go hiomlán ceart.
Mílitrithe mé é ceart ann. Mar sin, yeah.
Anseo in ionad a dhéanamh ch + +,
táimid ag dul díreach chun glaoch fgetc (comhad) arís
agus stóráil an toradh in ár athróg ch céanna.
[Ceist na Mac Léinn, dothuigthe]
>> Is é seo an áit a bhfuil na guys * COMHAD speisialta.
Is é an bealach a oibríonn siad leo - nuair a oscailt tú an chéad - nuair a dhéanann tú sin den chéad uair glaoch fopen,
an * COMHAD feidhmíonn sé go héifeachtach mar pointeoir go dtí tús an chomhaid.
Agus ansin gach uair a ghlaonn tú fgetc, bogann sé aon charachtar amháin tríd an gcomhad.
Mar sin, nuair a ghlaonn tú é seo, tá tú ag incriminteach an pointeoir comhaid ag aon charachtar amháin.
Agus nuair a fgetc tú arís, agus tú ag bogadh é a charachtar eile
agus ceann eile carachtar agus eile carachtar agus charachtar eile.
[Ceist na Mac Léinn, dothuigthe] >> Agus that's - yeah.
Tá sé de chineál ar an draíocht faoi na calla.
Tú a choinneáil ach incriminteach a trí.
Ag an bpointe seo, tá tú in ann a bheith ag obair i ndáiríre le carachtar.
Mar sin, conas a d'fhéadfadh muid seo amach a phriontáil ar an scáileán, anois?
Is féidir linn a bhaint as an rud céanna printf a úsáid againn roimh.
Go tá muid ag baint úsáide as gach seimeastar.
Is féidir linn glaoch printf,
agus is féidir linn pas a fháil i an carachtar go díreach mar sin.
Is bealach eile a dhéanamh seachas úsáid a bhaint printf agus a bhfuil seo a dhéanamh teaghrán formáide,
Is féidir linn a úsáid freisin ar cheann de na feidhmeanna eile.
Is féidir linn úsáid fputc, a priontaí carachtar ar an scáileán,
ach amháin má táimid ar fputc - lig dom zúmáil amach le beagán.
Feicimid cad deas a thógann sé ar an carachtar gur léamar ag baint úsáide as fgetc,
ach ansin ní mór dúinn a thabhairt dó sruth a phriontáil ar.
Is féidir linn úsáid freisin an fheidhm putchar, a chur go díreach chuig amach caighdeánach.
Mar sin, tá a bunch iomlán de roghanna éagsúla gur féidir linn a úsáid le haghaidh priontála.
Tá siad go léir sa leabharlann caighdeánach I / O.
Aon uair is mian leat a phriontáil - mar sin printf, de réir réamhshocraithe, beidh phriontáil go dtí an caighdeán speisialta amach sruthán,
a bhfuil an shocrú ar.
Mar sin, is féidir linn a tharchur go díreach dó mar chineál seo luach draíochta, stdout i anseo.
Oops. Cuir an leathstad lasmuigh.
>> Is é seo a lán eolais, nua funky i anseo.
Tá a lán de seo an-nathanna, sa chiall go bhfuil an cód
go bhfuil scríofa ar an mbealach seo ach mar tá sé glan a léamh, éasca le léamh.
Tá go leor bealaí éagsúla chun é a dhéanamh, feidhmeanna éagsúla is féidir leat é a úsáid,
ach claonadh a bhíonn againn a leanúint ach na patrúin céanna thar agus os a chionn.
Ní sin a dhéanamh a ionadh má fheiceann tú cód mar seo ag teacht suas arís agus arís.
Gach ceart. Ag an bpointe seo, ní mór dúinn a bhriseadh ar an lá.
Raibh maith agat as teacht. Go raibh maith agat chun breathnú ar má tá tú ar líne. Agus beidh orainn a fheiceann tú an tseachtain seo chugainn.
[CS50.TV]