>> [Muzikavimo]
>> ROB BOWDEN: Sveiki.
Aš Robas, ir tikėkimės, kad šis sprendimas padeda padėti jums
kelyje į atsigavimą.
Taigi, galime pradėti.
>> Mes matome, kad iš karto mes tiesiog įsitikinkite, kad mes
naudojant atkurti teisingai.
Taigi, naudojimas turėtų būti tik kažkas kaip taškas velniop atsigauti.
>> Dabar mes ketiname atidaryti tikimasi skyriaus dot žaliavinio failą.
Čia mes matome, kad mes naudojame pastovus žaliavos pabraukimo failo pavadinimas,
kuris čia mes turime maišos apibrėžiamas kaip skyriaus dot žaliavos.
Gerai.
>> Taigi, mes turime įsitikinti, kad sėkmingai atidaryta, nes jei jis
ne, tada turėtume įspėti vartotoją.
Tačiau darant prielaidą, kad ji, mes dabar ketina paskelbti dydžio JPEG buferį
Failo vardas ilgį.
Taigi tai bus buferis, kad mes ketiname sprintf į.
>> Taigi, kas yra JPEG failų pavadinimo ilgis?
Čia matome, kad tai maišos apibrėžiamas kaip aštuonių.
Tad kodėl aštuonių?
Na pateikta byla bus pavadintas kažkas panašaus nulis nulis nulis.
JPG ir tada mes turime Atgal nerijos velniop nulio.
Taigi mums reikia buferio, kuris gali laikyti aštuonių simbolių.
Dabar mes ketiname turėti skaitiklį, kad yra ketina sekti
numeris JPEG mes radome.
>> Ir pagaliau, mes ketiname turėti JPEG failas, kuris iš pradžių yra niekinis
kurie bus šiuo metu atidaryti failo, kad mes raštu.
Dabar mes ketiname turėti papildomas buferis.
Tai ne tas pats, kaip mūsų sprintf buferio kur buferis yra vienas
kad mes skaityti duomenų iš skyriaus dot žaliavos.
>> Taigi buferis bus iš nepasirašytos simbolių, kuriuos galite
iš esmės tik gydyti mums baitų, ir tai bus iš dydžio bloko dydis
kur, kaip mes tau, bloko dydis yra 512.
Taigi JPEG galite viską gydyti kaip blokų 512 baitų.
>> Dabar mes ketiname kilpa per visą failą.
Mes ketiname f skaityti į mūsų buferis vieną baitą bloko dydis kartus iš
skyriaus dot žaliavinio failą.
Dabar ką f skaityti grįžti?
Ji grąžina prekių kiekį kad sėkmingai skaityti.
Taigi, jei jis sugebėjo skaityti 512 baitų, tada mes norime išsiaiškinti, ar tai buvo
JPEG arba rašyti jį į JPEG failą.
Ir jei ji negrįžo 512 baitų, tada arba byla baigėsi
tokiu atveju mes išeiti iš Y kilpa, arba yra keletas klaidų rūšiuoti
tokiu atveju mes taip pat išeiti iš Y kilpa, bet mes norime pranešti
kad kažkas negerai.
>> Gerai.
Taigi, darant prielaidą, kad mes sėkmingai skaityti į 512 baitų, norime pirmiausia patikrinkite
padaryti, kad šie baitai, kad mes tik skaityti pradėti JPEG.
Taigi, jei yra JPEG antraštė mūsų buferis.
Dabar kas tai yra JPEG antraštės darai?
Pažvelkime.
>> Čia matome, kad ši funkcija yra grąžinant jautį, o jautis -
gerai čia, mes patikrinti, pamatyti, jei antraštė nulis lygu tai konstanta ir
antraštė vienas lygu tai konstanta ir antraštė du lygu tai konstanta,
antraštė trys lygu tai ar tai pastovus, kai visi šie konstantos
tik maišos apibrėžta čia ir yra ką mes jums papasakojo spec
kad JPEG prasideda.
Ir todėl ši funkcija yra tik ketina grąžina true, jei šis buferis yra
naujos JPEG pradžia ir false kitaip.
>> Gerai.
Taigi, jei tai iš tiesų išreiškia naują JPEG, tada mes pirmą kartą noriu patikrinti, pamatyti, jei
JPEG failas nėra lygus nulis, Tokiu atveju mes jį uždaryti.
Ir tai kodėl mes turime patikrinti pamatyti, jei ji nėra nulis?
Na pirmųjų JPEG kad mes rasti mes dar neturite
atvira JPEG failą.
Ir taip, jei mes stengiamės uždaryti, kad paskui mes ne daro kažką gana teisingai.
>> Bet kiekvienas vėlesnis JPEG kad mes atviri, mes norime uždaryti
Ankstesnis failas.
Taigi dabar mes ketiname naudoti sprintf kaip mes sakiau, kai mes naudojame
buferis JPEG failo pavadinimas.
Ir mes ketiname naudoti JPEG failą Pavadinimas Formatas kaip mūsų formatu.
Ir kas tai yra?
Čia matome, kad ji yra lygi nuliui procentų 3D.JPEG kur nulis trys tik
sako, kad mes naudojame tris sveikuosius skaičius tai kamšalu nuliais.
Taigi tai, kaip mes gauti nulis nulis one.JPEG ir nulinės 10.JPEG ir pan.
>> Mes ketiname naudoti sprintf.
Ir sveikasis skaičius, kad mes įterpiant į eilutė yra nutirpęs JPEG
atsigavo, o tai iš pradžių nulio.
Taigi pirmoji byla, užvesta vyksta būti nulis nulis nulis taškų JPEG.
Ir tada mes incrementing taip, kitą bylą mes atidaryti bus nulis nulis
vienas taškas JPEG ir mes prieaugio jį vėl, todėl bus nulis nulis du taškas
JPEG ir pan.
>> Gerai.
Taigi dabar JPEG failo viduje pavadinimas, mes turime vardą
failą, kad mes norime.
Mes galime f atidaryti tą failą raštu.
Gerai.
Ir vėl, mes turime patikrinti, kad įsitikinkite, kad failas sėkmingai
atidaryti nes jei ne, tada ten buvo keletas klaidų.
>> Taigi dabar mes Dotarłeś praeityje tai JPEG dalis.
Ir čia mes matome, mes ketiname rašyti į JPEG.
Bet pirmiausiai mes turime šį patikrinimą, kuriame sakoma, jei JPEG failas neatsidaro vienodą null.
Kodėl mums reikia, kad?
Na JPEG failas Lygu null, kai mes Šiuo metu atvirą JPEG.
>> Ką daryti, jei kortelės dot žaliavos prasideda su baitais krūva, kad
nekelia JPEG?
Tada mes ketiname norite praleisti per tuos baitus.
Jei mes neturime šį patikrinimą, tada mes ketina rašyti neatidarytas
pateikti pirmuosius 512 baitų kortelė, kuri nėra gera.
Gerai.
>> Taigi, darant prielaidą, kad mes turime atvirą failą, tada mes ketiname rašyti šį failą
512 baitų, kad mes turime mūsų buferis.
Ir mes vėl tikrinti, kad įsitikinkite, kad 512 baitų sėkmingai
buvo parašyta, nes jei jie nebuvo sėkmingai parašyta, tada kažkas
nutiko.
Mes užmerkti failus, spausdinti, kad kažkas negerai, ir grąža.
Darant prielaidą, kad viskas teisingai, tada mes nuolat vyrių uždarymo
senas failas, atidarant naują failą, rašymas duomenis į naują failą, ir todėl
, kol, pagaliau, tai f skaityti grąžina nulį, kuris reiškia
kad failas yra padaryta.
>> Taigi dabar, kad kortelės skaitymas yra daugiau, mes matyti, kad mes ketiname f uždaryti
paskutinį failą, kad mes turėjome atidaryti, bet mes tikrinti, ar JPEG failą
nėra vienodas null.
Na f arti prasminga, nes, kaip mes atidaryti failus, mes uždarymo
Ankstesnis failas, bet pats paskutinis failą, kad mes atidarėme niekada pasireiškia uždarytas.
Štai kas tai daro.
>> Bet kodėl mes turime patikrinti null?
Na ką, jei kortelės dot žaliava nebuvo turėti vieną JPEG viduje jo?
Tokiu atveju, mes turėtume niekada atidaryti failą.
Ir jei mes niekada atidaryti failą, turėtume ne bandyti uždaryti tą failą.
Štai ką šis tikrinimas daro.
>> Dabar čia, kaip minėjau anksčiau, mes galime lūžo dėmesį, kad y kilpa arba jei
kortelė pasibaigė ar yra kai klaida skaitant iš kortelės.
Taigi, tai yra patikrinti, pamatyti, jei ten buvo skaityti iš kortelės, iš klaidų
Tokiu atveju, mes ten sako buvo nuskaitymo klaida.
Mes nenorime, kad vartotojas galėtų galvoti viskas sėkmingai nuėjo.
Ir mes vėl viena ir klaidos.
>> Galiausiai, mes f uždaryti mūsų žaliavinio failą, mūsų skyriaus dot žalias, siekiant nurodyti, kad
viskas buvo gerai ir grąžinimas nulis ir viskas.
>> Mano vardas yra Rob ir tai buvo susigrąžinti.
>> [Muzikavimo]