[Tónlist spila] ROB BOWDEN: Hæ. Ég er Rob, og við skulum vona að Þessi lausn hjálpar setja þig á veginum til bata. Svo skulum við hefjast handa. Við sjáum að strax við erum bara til að vera viss um að við erum using batna rétt. Svo notkun ætti bara að vera eitthvað eins punktur rista batna. Nú ætlum við að opna ráð kort punktur hrár skrá. Við sjáum hér að við erum að nota stöðug hrár undirstrik skrá nafn, sem upp hér höfum kjötkássa skilgreind sem kortið punktur hrár. OK. Þannig að við þurfum að ganga úr skugga um að það tókst opnaði því ef það ekki, þá ættum við að vara notandann. En miðað við að það gerði, við erum nú að fara að lýsa yfir biðminni stærð JPEG skrá nafn lengd. Þannig að þetta er að fara til vera the biðminni sem við erum að fara að sprintf inn. Svo er það JPEG skrá nafn lengd? Upp hér, sjáum við að það er kjötkássa skilgreind sem átta. Svo hvers vegna átta? Jæja gefið skrá mun heita eitthvað eins og núll núll núll. JPG og þá þurfum við að sviga núll. Þannig að við þurfum biðminni sem getur geyma átta stafir. Nú erum við að fara að hafa teljara sem er fara að halda utan um Fjöldi JPEG við fundum. Og að lokum, við erum að fara að hafa JPEG skrá sem er upphaflega núll sem er að fara til vera the nú opna skrá sem við erum að skrifa á. Nú við erum að fara að hafa til viðbótar Buffer. Þetta er ekki það sama og sprintf okkar stuðpúði þar sem þessum dúa er sá sem við erum að lesa í gögnum úr kortinu punktur hrár. Svo biðminni er að fara að vera á óundirritaður stafir sem þú getur í rauninni bara fram við okkur bæti, og það er að fara að vera af stærð blokk stærð þar, eins og við sagt þér, blokk stærð er 512. Svo JPEG þú getur skemmtun allt eins blokkir af 512 bæti. Nú við erum að fara að lykkja yfir allt skrá. Við erum að fara að f lesa í biðminni okkar eitt bæti blokk stærð sinnum frá kortið punktur hrár skrá. Nú hvað gerir F lesa aftur? Það skilar fjölda liða að það að lesa með góðum árangri. Þannig að ef það tókst að lesa 512 bæti, þá við viljum sjá hvort þetta væri JPEG eða skrifa það í JPEG skrá. Og ef það var ekki aftur 512 bæti, þá annaðhvort skrá er lokið í en þá munum við brjótast út úr y lykkja, eða það eru einhvers konar villa í því tilviki við munum einnig að brjótast út úr y lykkja, en við munum vilja til að tilkynna að eitthvað fór úrskeiðis. OK. Svo miðað við að okkur tókst að lesa í 512 bæti, viljum við fyrstu athugun að gera að þessar bæt sem við bara lesa í hefja JPEG. Svo ef er JPEG haus biðminni okkar. Nú hvað það er JPEG haus að gera? Skulum líta. Upp hér, sjáum við að þessi aðgerð er aftur naut, og að naut - vel hér, við erum að athuga hvort haus núll jafngildir Þessi fasti og haus einn jafngildir Þessi fasti og haus tveir jafngildir þessum föstu, haus þrjú jafngildir þetta eða þetta fasti þar sem allir þessir fastar eru bara kjötkássa skilgreind hér og eru nákvæmlega það sem við sagði þér í sérstakur að JPEG hefst með. Og svo þessi aðgerð er bara að fara að return true ef þetta buffer táknar upphaf nýs JPEG og ósönn annars. OK. Þannig að ef þetta virkar tákna nýja JPEG, þá viljum við fyrst að athuga hvort JPEG skrá er ekki jafnt og null, í því tilviki við að loka því. Og svo hvers vegna þurfum við að athuga til að sjá hvort það er ekki null? Jæja fyrsta JPEG sem við finnum við ekki þegar hafa opið JPEG skrá. Og svo, ef við reynum að loka það, þá við erum ekki að gera eitthvað alveg rétt. En sérhver síðari JPEG sem við opnum, viljum við að loka fyrri skrá. Svo nú erum við að fara að nota sprintf sem vér sagði áður þar sem við erum að nota biðminni JPEG skrá nafn. Og við erum að fara að nota JPEG skrá nafn sniði eins snið okkar. Og hvað er það? Upp hér, sjáum við að það er prósent núll 3D.JPEG þar sem núll þrjú bara segir að við munum nota þrjár heiltölur fyrir þetta padded með núllum. Svo er þetta hvernig við munum fá núll núll one.JPEG og núll 10.JPEG og svo framvegis. Við erum að fara að nota sprintf. Og heiltala sem við erum að setja í band er dofinn JPEG batna, sem er upphaflega núll. Þannig að fyrsta skráin opnuð er að fara að vera núll núll núll punktur JPEG. Og þá erum við incrementing það þannig að næstu skrá við opnum verður núll núll einn punktur JPEG og við munum hækka það aftur svo það verður núll núll tveir punktur JPEG og svo framvegis. Allt í lagi. Svo nú innan JPEG skrána nafn, höfum við nafn hins skrá sem við viljum. Við getum F opna þá skrá til að skrifa. OK. Og enn og aftur, við þurfum að athuga til að úr skugga um að skrá með góðum árangri opnaði síðan ef það gerði það ekki, þá það var einhver villa. Svo nú höfum við fengið framhjá er þetta JPEG hluti. Og hér sjáum við að við erum að fara að skrifa á JPEG. En við höfum fyrst þetta ávísun sem segir ef JPEG skrá hjartarskinn ekki jafn null. Hvers vegna þurfum við það? Jæja JPEG skrá jafngildir null þegar við nú hafa opið JPEG. Hvað ef kortið punktur hrár byrjar með fullt af bytes sem ekki tákna JPEG? Þá erum við að fara til að vilja sleppa yfir þeim bæti. Ef við höfum ekki þessa ávísun, þá erum við að fara að skrifa í ónotaðri skrá fyrstu 512 bytes kortið sem er ekki gott. OK. Svo miðað við að hafa opinn skrá, þá við erum að fara að skrifa til að skrá sem 512 bytes sem við höfum í biðminni okkar. Og við erum enn og aftur stöðva til gera viss um að 512 bæt tókst voru skrifaðar því ef þeir voru ekki vistuð, svo eitthvað fór úrskeiðis. Við munum loka skrár okkar, prenta það eitthvað fór úrskeiðis, og aftur. Miðað allt fer á réttan hátt, þá við munum halda lykkja lokun á Gamla skráin, opna nýja skrá, skrifa gögn til nýja skrá, og svo á þar til að lokum, þetta F lesið skilar núll þar sem búnaðurinn að skrá er lokið. Svo nú er að kortið lestur er yfir, við sjá að við erum að fara að f loka síðasta lagið sem við höfðum opið, en Við erum að athuga hvort JPEG skrá ekki jafn null. Jæja f nærri vit því eins við erum að opna skrár, við erum að loka fyrri skrá, en mjög síðasta skrá sem við opnuðum aldrei gets lokað. Svo er það sem þetta er að gera. En hvers vegna þurfum við að athuga hvort núll? Jæja hvað ef kortið punktur hrár gerði ekki hafa einn JPEG inni af því? Í því tilviki, vildi að við þurfum aldrei opnað skrá. Og ef við aldrei að opna skrá, ættum við ekki reyna að loka þessa skrá. Svo er það sem þessi stöðva er að gera. Nú hér, eins og ég sagði áður, við gátum hafa brotist út að y lykkja annaðhvort ef kortið er lokið eða ef það eru sumir villa við lestur úr kortinu. Þannig að þetta er að athuga hvort það væri villa lesa af kortinu, í því tilviki, við munum segja að það kom villa við lestur. Við viljum ekki notandi til að hugsa allt gekk giftusamlega. Og við munum fara aftur einn fyrir mistök. Að lokum munum við f-loka hrár skrá okkar, kortið okkar punktur hrátt, til að gefa til kynna að allt gekk vel og aftur núll og það er það. Mitt nafn er Rob og þetta var batna. [Tónlist spila]