[Musika jotzen] ROB BOWDEN: Kaixo. Nago Rob, eta dezagun espero Irtenbide hau jarri duzu laguntzen berreskuratzeko bidean. Hargatik Hasteko. Berehala gara ikusten dugun ziur Oraindik dugu egiteko erabiliz behar bezala berreskuratu. Beraz, erabilera zerbait izan behar du bezalako dot barra berreskuratzeko. Orain ari gara espero zabalduko joan txartel dot fitxategia gordinak. Hemen ikusten dugu erabiltzen ari gara hori konstante azpimarra gordinak fitxategi-izena, horrek hemen hash dugu zehaztutako txartela dot gordinak bezala. Ados. Beraz, ziurtatu egin behar dugu ondo ireki delako bada ez, gero erabiltzaileari abisatu behar dugu. Baina egin duela suposatuz, orain gaude tamaina JPEG bufferra bat aldarrikatu joan fitxategia izen luzera. Beraz, hau da bufferraren izango duten ra sartu Sprintf goaz. Beraz, zer da JPEG fitxategia izen luzera? Hemendik gora, ikusten dugun hura dela hash zortzi gisa definitzen dira. Beraz, zergatik zortzi? Beno fitxategia jakin bat izendatuko dira zero zero zero antzeko zerbait. JPG eta ondoren alderantzizko barra bat zero behar dugu. Beraz, ahal duten buffer bat behar dugu Zortzi karaktere gordetzeko. Orain ari gara hori da kontagailu bat izan da joan segimendua joan zenbakia JPEGs aurkitu dugu. Eta, azkenik, ari gara behar going bat JPEG fitxategia hau da, hasieran nulua hau da, gaur egun izango da fitxategia ireki horretan ari gara idazten. Orain ari gara behar joan buffer gehigarri bat. Hau ez da gure sprintf berdina bufferrerako non buffer hau bat da datuetan dugula irakurtzen ari txartel sakabanatutako gordinak. Beraz bufferraren da izango ote da unsigned karakteretan, hau ahal duzun funtsean, besterik tratatzeko gurekin byte, eta hura da tamaina bloke tamaina izango da non, esan dugun bezala, Bloke tamaina 512 da. Beraz JPEGs guztia tratatzeko dezakezu 512 byte bloke gisa. Orain begizta goaz lerro osoa baino gehiago. F gure buffer sartu irakurri goaz a single byte bloke tamaina etatik aldiz txartela dot fitxategia gordinak. Orain zer ez irakurri itzultzeko f? Elementu kopurua itzultzen du dela behar bezala irakurri. 512 byte irakurri, eta gero kudeatzen beraz bada hau ote zen bat ikusi nahi dugu JPEG edo idatz ezazu JPEG fitxategi batera. Eta ez badu 512 byte itzultzeko, orduan bai irudiak honako ha amaitu kasu y daudelarik dugu apurtzen begizta, edo han error nolabaiteko dira kasu horretan, gainera, ikusiko dugu hautsi y begizta, baina salatu nahi dugu zerbait gaizki joan da. Ados. Beraz suposatuz duten arrakastaz irakurri dugu 512 bytetan, lehenengo check nahi dugu osatzen duten byte horiek garela Irakurri in JPEG bat hasteko. Beraz, JPEG gure buffer goiburua bada. Orain zer egiten ari da JPEG goiburua? Dezagun begiratu. Hemendik gora, ikusiko dugu funtzio hori ez dela zezen bat itzuli, eta zezen hori - ondo hemen, zu ikusteko egiaztatzen badugu goiburua zero konstante honek berdin eta goiburu bat konstante honek berdin eta goiburu bi konstante hau berdin, goiburua hiru berdinen hau edo honen konstante non konstante horiek guztiak dira besterik hash hementxe definitu eta are zehatz-mehatz zer esan dizugu Zehaztutako JPEG bat hasten da. Eta beraz, funtzio hori besterik ez da joan egia itzuliko Buffer honek adierazten bada JPEG berri baten hasiera eta faltsua bestela. Ados. Eta horretarako, hala bada JPEG berri bat irudikatzeko, ondoren, lehen ikusi begiratu nahi badugu JPEG fitxategia ez da nulua berdina, eta kasu horretan itxi dugu. Eta beraz, zergatik ez berriro egiaztatu behar dugu ikustea ez da nulua bada? Beno oso lehen JPEG dugula aurkitu ez du dagoeneko badugu open JPEG fitxategi bat. Eta, beraz, hori itxi, gero saiatu badugu Ez ari gara zerbait nahiko eskubidea egiten. Baina ondorengo JPEG bakoitza ireki dugu, itxi nahi dugu Aurreko fitxategia. Beraz, gaur egun ari gara sprintf erabiltzeko dugun bezala joan non erabiltzen ari gara aurretik esan du buffer JPEG fitxategi izena. Eta ari gara JPEG fitxategia erabiltzeko joan izena eman formatua gure formatu gisa. Eta zer da hori? Hemendik gora, ikusten dugu ehuneko zero dela 3D.JPEG non zero hiru besterik dio hiru zenbaki osoko darabiltzaten dugu honetarako zeroz betea. Beraz, hau da zero zero nola lortuko dugu one.JPEG eta zero 10.JPEG eta abar. Sprintf erabili goaz. Eta hori txertatzen ari gara osokoa sartu katea numb JPEGs da berreskuratu, hau da, jatorriz zero. Beraz, lehen fitxategia ireki da joan zero zero zero dot JPEG izan. Eta gero ari gara beraz incrementing dugu Hurrengo fitxategia ireki dugu zero zero izango da dot JPEG bat eta Kontatzailea dugu Berriro so zero zero bi puntu besterik ez da izango JPEG eta abar. Ondo da. Beraz, orain JPEG fitxategia barrutik izendatzeko, izenaren dugu fitxategia nahi dugu. Daiteke f ireki dugu idazteko artxibo horretan. Ados. Eta, berriro ere, egin begiratu behar dugu ziurtatu fitxategia arrakastaz noiztik ireki ez, eta gero egin bada Akats batzuk zegoen. Beraz, gaur egun iraganeko dugu ahaztuak da hau JPEG zati bat. Eta hemen, ikusten ditugun goaz den JPEG idatzi. Baina lehen egiaztapen hau dio behar dugu JPEG fitxategia ez berdinak NULL bada. Zergatik behar dugu? Beno JPEG fitxategia berdinen nulua denean dugu Une JPEG irekia dute. Zer txartel dot gordinak hasten bada byte mordo bat duen ez irudikatzeko JPEG bat? Ondoren gaude nahi joan byte horiek baino gehiago saltatzeko. Ez badugu egiaztapen hau izan, orduan gaude arte ireki gabeko bat idazteko joan lehen 512 byte fitxategia txartela eta hori ez da ona. Ados. Beraz suposatuz fitxategia ireki bat dugu, eta gero fitxategi hori idazteko goaz du 512 byte gure buffer dugu. Eta ari gara berriro ere egin egiaztapena ziurtatu du 512 byte arrakastaz zirelako idatzirik ez balira ongi idatzi, eta gero zerbait gaizki joan. Itxiko dugu gure artxiboak, inprimatu duten zerbait gaizki joan, eta itzulera. Suposatuz, dena behar bezala badoa, orduan itxiz begizta mantendu egingo dugu fitxategi zaharra, artxibo berriak irekitzea, idatziz fitxategi berriaren datuak, eta beraz on arte azkenik, f honetan irakurri zero itzultzen eta horrek bide fitxategia egiten den. Beraz, orain dela txartela irakurketa zehar, dugu ikusten ari gara f itxi egingo du irekita izan genuen, baina azken fitxategia egiaztatzen ari gara bada JPEG fitxategia nulua ez berdina du. Beno f estua zentzuzkoa delako Ari fitxategiak irekitzea dugu, itxiz ari gara aurreko fitxategia, baina oso azkena fitxategi hori ireki genuen inoiz erabat itxita. Beraz, hori da hori egiten. Baina zergatik nahi null arakatuko behar dugu? Beno txartela dot gordinak zer bada ez JPEG bakar baten barruan dute? Kasu horretan, hau izango dugu fitxategi batean inoiz ireki. Eta inoiz ez dugu ireki fitxategia bat bada, hori behar dugu Ez saiatu fitxategi hori ixteko. Beraz, hori da egiaztapen hau egiten ari da. Orain, hemen, lehenago esan dudan bezala, ezin izan dugu dute hautsi daudelarik y begizta bai bada txartela amaitu da edo badaude Akats batzuk txartela irakurtzean. Beraz, hau da, ez zen den ikusteko Errore bat txartela irakurtzean, in kasu horretan, ez dago esan dugu error irakurketa bat izan zen. Ez dugu erabiltzaileari pentsatu nahi guztia joan egin da. Eta itzuli egingo dugu inork akats. Azkenik, f dugu gure fitxategia gordinak ixteko, Gure txartela dot gordinak, hori adierazteko dena ongi atera eta bueltan zero eta hori da. Nire izena Rob da, eta hau izan zen berreskuratu. [Musika jotzen]