>> [Predvaja glasba]
>> ROB Bowden: Hi.
Jaz sem Rob, in upajmo, da Ta rešitev, ki vam dajo
na poti do okrevanja.
Torej, začnimo.
>> Vidimo, da takoj smo samo da bi bili prepričani, da smo
pomočjo zopet pravilno.
Torej bi uporaba le nekaj, kot pika slash opomore.
>> Zdaj bomo odprli pričakovati card dot surovo datoteko.
Vidimo tukaj, da bomo s pomočjo stalna surovo podčrtaj ime datoteke,
ki tu imamo hašiš definiran kot kartica dot surovo.
OK.
>> Zato moramo zagotoviti, da se da uspešno odprta, ker če je
ni, potem moramo opozoriti uporabnika.
Vendar ob predpostavki, da je to storila, mi smo zdaj bo razglasila varovalnega pasu velikosti JPEG
datoteko dolžino imena.
Torej to se bo pufer, ki bomo sprintf v.
>> Torej, kaj je JPEG datoteka ime dolžina?
Tu gor, vidimo, da je hash opredeljena kot osem.
Torej, zakaj osem?
No saj slika bo poimenovana nekaj podobnega nič nič nič.
JPG in potem moramo uporabiti poševnico nični.
Zato moramo varovalo, da lahko shranjevanje osem znakov.
Zdaj bomo imeli števec, ki je gre za sledenje
število JPEG smo našli.
>> In končno, gremo, da imajo JPEG datoteka, ki je sprva null
ki se bo sedaj odprte datoteke, da smo pisno.
Zdaj bomo imeli Dodatna pufer.
To ni isto kot naši sprintf pufer, kjer je ta varovalni ena
da smo berete v podatkih s kartico pika surovo.
>> Torej je pufer bo od nepodpisani znakov, ki jih lahko
v bistvu samo zdravljenje nam bajte, in to je bo v velikosti velikosti bloka
kjer je, kot smo vam povem, Velikost bloka je 512.
Torej, JPEG si lahko privoščite vse kot bloki 512 bajtov.
>> Zdaj gremo v zanko čez celotno datoteko.
Bomo f preberete v našem buffer a single krat bajt velikosti bloka iz
card dot surovo datoteko.
Zdaj kaj f prebral vrne?
Vrne število elementov da je uspešno prebral.
Torej, če ji je uspelo prebrati 512 bajtov, potem želimo, da bi videli, ali je bila ta
JPEG ali pa pisati v datoteko JPEG.
In če to ni vrnil 512 bajtov, potem je bodisi datoteka končala v
tem primeru bomo iztrgajo iz y zanka, ali obstaja neke vrste napake
V tem primeru bomo prekinil tudi izven y zanke, vendar bomo želeli prijaviti
da je šlo nekaj narobe.
>> OK.
Torej, ob predpostavki, da bomo uspešno prebrali v 512 bajtov, želimo, da prvo preverjanje
da bi, da ti zlogi, da smo pravkar prebral na začetek JPEG.
Torej, če je glava JPEG naše buffer.
Zdaj, kaj je v glavi JPEG delaš?
Oglejmo si.
>> Tu gor, vidimo, da je ta funkcija vrnitvijo bika, in da je bik -
tudi tukaj, smo preverjali, če Glava je enaka nič, to konstanto in
Glava ena enaka ta konstanta in Glava dva enaka ta konstanta,
Glava tri enaka tem, ali je ta konstantna kjer so vse te konstante
samo hash opredeljeno tukaj, in so točno to, kar smo vam povedali v spec
da JPEG začne s.
In zato je ta funkcija je le, da bo vrne true, če je to buffer predstavlja
Začetek nove JPEG in false sicer.
>> OK.
Torej, če to ne predstavlja novega JPEG, Nato smo najprej želeli preveriti, da vidim, če
JPEG ni enaka null, V tem primeru smo ga zaprete.
In zakaj torej moramo preveriti da vidim, če je ni nič?
No, da je zelo prvi JPEG smo Ugotovijo, da ne bomo že
odprte datoteke JPEG.
In tako, če bomo poskušali zapreti, potem ne bomo nečesa povsem napačno.
>> Toda vsak poznejši JPEG, ki smo odprli, želimo zapreti
Predhodna slika.
Torej, zdaj bomo uporabili sprintf kot mi rečeno, kjer smo s pomočjo
buffer JPEG ime datoteke.
In bomo uporabili JPEG Naziv Oblika, kot je naš formatu.
In kaj je to?
Tu gor, vidimo, da je nič odstotkov 3D.JPEG kjer zero tri pravkar
Pravi, da bomo uporabili tri cela števila Za to oblazinjeni z ničle.
Torej, to je, kako bomo dobili nič nič one.JPEG in nič 10.JPEG in tako naprej.
>> Bomo uporabili sprintf.
In celo, da smo vstavljanje v niz je otrple JPEG
izterjati, ki je prvotno nič.
Torej prva datoteka odpre se dogaja biti nič nič nič dot JPEG.
In potem smo jo tako, da povečate Naslednja slika nam odpre bo nič nič
ena pika JPEG in jo bomo prirastek še enkrat, tako bo pa nič nič dva pika
JPEG in tako naprej.
>> Vse je v redu.
Torej, zdaj znotraj datoteke JPEG ime, imamo ime
datoteko, da si želimo.
Mi lahko f odpreti to datoteko za pisanje.
OK.
In še enkrat, moramo preveriti, da se Preverite, ali datoteka uspešno
odprt, saj, če ni, potem je bilo nekaj napake.
>> Torej sedaj smo gotten mimo je to JPEG del.
In tukaj vidimo, da gremo pisati v JPEG.
Vendar moramo najprej ta pregled, ki pravi, če JPEG ni enaka null.
Zakaj potrebujemo to?
No, JPEG enaka null, ko smo Trenutno imamo odprto JPEG.
>> Kaj pa, če card dot surove začne s kupom bajtov, ki
ne predstavljajo JPEG?
Potem bomo želeli preskočite tiste bajte.
Če ne bomo imeli ta pregled, nato pa smo Napisala bom, da neodprte
vložijo prvih 512 bajtov kartico, ki ni dobro.
OK.
>> Torej, ob predpostavki, da imamo odprto datoteko, nato bomo pisati v datoteko
512 bajtov, ki jih imamo v našem pufru.
In smo še enkrat preverimo, prepričani, da so 512 bajtov uspešno
so bile napisane zato, ker če ne bi bili Uspešno napisal, potem je nekaj
je šlo narobe.
Bomo zatiskati datotek, tiskanje, ki kaj je šlo narobe, in povratek.
Vse ob predpostavki, da gre pravilno, potem bomo še naprej zanka zapiranje
stara datoteka, odpiranje nove datoteke, pisanje podatkov v novo datoteko, in tako
dokler na koncu, to beri vrne nič, ki pomeni
da je datoteka storiti.
>> Torej sedaj, da je branje kartice več, smo glej, da bomo f zapreti
zadnja slika, ki smo imeli odprte, vendar smo preverjanje, ali datoteka JPEG
ni enaka null.
No f blizu smiselna, saj, kot je smo spisov, da zapiramo
Predhodna slika, ampak zelo zadnja datoteko, ki smo odprli dobi nikoli zaprta.
Tako da je tisto, kar to počne.
>> Ampak zakaj moramo preveriti null?
Pa kaj, če kartica pika surov ni ima eno samo JPEG znotraj njega?
V tem primeru bi imeli nikoli odprl datoteko.
In če ne bomo nikoli odpreti datoteko, bi morali Ne poskušajte zapreti tisto datoteko.
Torej, to je tisto, kar ta pregled počne.
>> Zdaj tu, kot sem že dejal, smo lahko so izbruhnili, da y zanke bodisi če
Kartica je končala ali če obstajajo nekatere napake pri branju iz kartice.
Torej se to preverjanje, da vidim, če je bilo napaka pri branju iz kartice,
tem primeru, bomo pa rekli, je bila napaka pri branju.
Nočemo, da bi uporabniku, da razmišljajo vse, kar je uspešno šel.
In bomo vrnili enega za napake.
>> Končno bomo f zapreti naše surovo datoteko naša kartica dot surovo, kar pomeni, da
Vse je šlo dobro in povratek nič in to je to.
>> Moje ime je Rob in to je bilo zopet.
>> [Predvaja glasba]