>> [MUSIC PLAYING]
>> Rob Bowden: Hi.
Mən Rob deyiləm, və ümid edək ki, Bu həll sizi kömək edir
Bərpa olunması üçün yolda.
Belə ki, in başlamaq bildirin.
>> Biz dərhal biz istəyirik ki, yalnız biz istəyirik ki, əmin etmək
düzgün Recover istifadə.
Belə ki, istifadə yalnız bir şey olmalıdır dot çizgi bərpa kimi.
>> İndi biz gözlənilən açmaq olacaq kart xam fayl nöqtə.
Biz istifadə etdiyiniz burada bax daimi xam çizgi fayl adı,
biz hash var qədər burada olan kart xam nöqtə kimi müəyyən edilmişdir.
OK.
>> Beləliklə, biz əmin etmək lazımdır ki, uğurla açdı əgər
, sonra biz istifadəçi xəbərdar olmalıdır etməyib.
Amma bunu fərz etsək, biz indi istəyirik ölçüsü JPEG bufer bəyan olacaq
adı uzunluğu fayl.
Belə ki, bu bufer olacaq ki, biz daxil sprintf olacaq.
>> Belə ki, JPEG fayl adı uzunluğu nədir?
Burada, biz ki, bax səkkiz kimi müəyyən hash.
Belə ki, niyə səkkiz?
Yaxşı bir fayl adı olacaq sıfır sıfır sıfır kimi bir şey.
JPG və sonra bir backslash sıfır lazımdır.
Belə ki, bilər bufer lazımdır səkkiz simvol saxlamayın.
İndi ki, bir counter var olacaq Bu takip gedir
sayı JPEGs gördük.
>> Və nəhayət, biz getdiyimiz Ilkin null olan JPEG fayl
Hal-hazırda olacaq olan biz yazılı olduğunuz açıq file.
İndi biz olacaq əlavə bufer.
Bu, bizim sprintf kimi eyni deyil Bu bufer bir olduğu bufer
Biz data oxuyursunuz ki, kart xam dot olan.
>> Belə ki, bufer olacaq imzasız chars, Siz hansı
əsasən yalnız bizə bayt müalicə, və bu ölçüsü blok ölçüsü olacaq
harada, biz sizə demək kimi, blok ölçüsü 512 edir.
Belə ki, JPEGs hər şeyi müalicə edə bilər 512 bytes blokları kimi.
>> İndi biz loop olacaq bütün fayl üzərində.
Biz f bizim bufer daxil oxumaq olacaq bir byte blok ölçüsü dəfə olan
kart xam fayl nöqtə.
İndi f qayıtmaq nə oxumaq deyil?
Bu maddələr sayı qaytarır uğurla oxumaq.
Sonra, 512 bayt oxumaq üçün idarə əgər biz bu olub görmək istəyirəm
JPEG və ya bir JPEG fayl yazın.
Və 512 bayt geri olmasaydı, sonra fayl ya başa çatıb
biz y çıxmaq lazımdır, bu halda loop, və ya səhv bir növ var
biz də çıxmaq lazımdır halda y loop, lakin biz hesabat lazımdır
ki, bir şey yanlış getdi.
>> OK.
Beləliklə, biz uğurla oxumaq fərz 512 bayt, biz ilk çek istəyirəm
etmək üçün ki, bu bytes ki, biz yalnız oxumaq JPEG başlayır.
Belə ki, əgər bizim bufer JPEG header edir.
İndi JPEG header onu nə edir?
Nin baxaq.
>> Burada, biz bu funksiya olduğunu görürük bir öküz qaytarılması ki, öküz -
burada, biz görmək yoxlanılması edirsinizsə header sıfır Bu daimi bərabərdir və
header bu daimi bərabərdir və header iki, bu daimi bərabərdir
header üç bu və ya bu bərabərdir Bütün bu sabitləri olduğu sabit
yalnız burada müəyyən hash və biz spec sizə izah dəqiq nə
bir JPEG ilə başlayır ki,.
Və bu funksiya yalnız gedir Bu bufer təmsil Doğrudur qayıtmaq
yeni bir JPEG start və saxta başqa.
>> OK.
Bu yeni bir JPEG təmsil etmir əgər, sonra biz ilk görmək yoxlamaq istəyirsinizsə
JPEG fayl, null bərabər deyil bu halda biz bağlayın.
Və nə biz yoxlamaq lazımdır Bu null deyil görmek? üçün
Yaxşı ilk JPEG ki, biz biz artıq olmayacaq tapmaq
açıq JPEG fayl.
Və belə ki, biz sonra ki, yaxın cəhd əgər biz olduqca doğru bir şey bunu deyilik.
>> Amma hər sonrakı JPEG ki, biz açıq, biz bağlamaq istəyir
Əvvəlki faylın.
Belə ki, indi biz kimi sprintf istifadə etmək olacaq biz istifadə etdiyiniz Ü əvvəl bildirib
bufer JPEG fayl adı.
Və biz JPEG faylı istifadə etmək olacaq bizim format kimi format adı.
Və nədir?
Burada, biz faiz sıfır olduğunu görmək 3D.JPEG olduğu sıfır üç yalnız
biz üç integers istifadə lazımdır ki, deyir bu adet sıfır ilə padded.
Belə ki, bu biz sıfır sıfır almaq lazımdır necə belə one.JPEG və sıfır 10.JPEG və.
>> Biz sprintf istifadə etmək olacaq.
Və biz daxil olduğunuz tam simli key JPEGs edir daxil
ilk sıfır olan, bərpa.
Belə ki, ilk fayl gedir açıldı sıfır sıfır sıfır dot JPEG olmalıdır.
Və sonra biz belə incrementing etdiyiniz biz açmaq növbəti fayl sıfır sıfır olacaq
bir dot JPEG və biz bunu arttırmayı lazımdır yenə belə ki, sıfır sıfır iki dot olacaq
Belə JPEG və.
>> Bütün hüquqlar.
Belə ki, indi JPEG fayl daxilində ad, biz adı var
biz istəyirik ki, fayl.
Biz f yazı üçün faylı aça bilərsiniz.
OK.
Və bir daha, biz etmək üçün yoxlamaq lazımdır əmin uğurla fayl
Bu, sonra əgər ci ildən başlayıb bəzi səhv var idi.
>> Belə ki, indi biz keçmiş kazanılmış bu bir JPEG hissəsidir.
Və burada, biz gedirik bax Bu JPEG yazmaq üçün.
Amma biz ilk deyir ki, bu çek JPEG fayl bərabər null deyil, əgər.
Niyə biz lazımdır?
Yaxşı JPEG fayl null bərabərdir zaman biz Hal-hazırda açıq JPEG var.
>> Nə kart dot xam başlayır əgər bayt bir dəstə ilə
JPEG təmsil etmir?
Sonra biz istəyirəm olacaq o bayt skip.
Biz bu çek yoxdur, onda biz istəyirik bir açılmadan yazmaq üçün gedir
ilk 512 bayt fayl yaxşı deyil olan kart.
OK.
>> Beləliklə, biz bir açıq fayl fərz biz ki, fayl yazmaq olacaq
Biz bufer var ki, 512 bytes.
Və biz bir daha etmək üçün kontrol edirik əmin uğurla 512 bytes
onlar deyil, çünki yazılmışdır uğurla yazılı, sonra bir şey
yanlış getdi.
Biz ki, çap, bizim faylları yaxın olacaq bir şey yanlış getdi və geri.
Etsək, hər şey, düzgün gedir Biz yekun loop davam edəcəyik
köhnə fayl, yeni fayl açılması, yazı belə yeni fayl data, və
nəhayət, bu f oxumaq qədər sıfır qaytarır vasitələri
fayl edilir.
>> Belə ki, indi kart oxu üzərində ki, biz biz f yaxın olacaq ki, görmək
biz açıq idi, lakin son fayl biz yoxlanılması əgər JPEG fayl
bərabər null yoxdur.
Yaxşı f yaxın çünki kimi əhəmiyyət kəsb edir biz bağlanması edirik, faylları açılış edirsinizsə
Əvvəlki fayl, lakin son biz açılan fayl bağlıdır olur heç.
Belə ki, bu nə var.
>> Amma niyə biz null yoxlamaq lazımdır?
Yaxşı nə varsa kart dot xam etmədi Bunun içərisində bir JPEG var?
Bu halda, biz olardı bir fayl açılan heç vaxt.
Bir fayl açmaq heç əgər, biz olmalıdır ki, fayl bağlamaq üçün cəhd deyil.
Belə ki, bu check nə var.
>> Mən əvvəl qeyd etdiyim kimi, indi burada, biz bilər ki, y loop ya əgər sınıq
kart olduqda sona çatdı, və ya kart oxu bəzi səhv.
Belə ki, bu var idi görmek üçün yoxlanılması olunur da, kart oxu bir səhv
Bu halda, biz orada demək lazımdır bir səhv oxu idi.
Biz istifadəçi düşünmək istəmirəm hər şey uğurla keçdi.
Və biz səhv üçün bir qayıtmaq lazımdır.
>> Nəhayət, biz f bizim xammal faylı bağlamaq lazımdır, bizim kart göstərir ki, xammal dot
hər şey yaxşı və qaytarılması getdi sıfır və bu.
>> My name Rob və bu Recover idi.
>> [MUSIC PLAYING]