[Музика свира] РОБ БОВДЕН: Здраво. Ја сам Роб, и надајмо се да ово решење помаже ставити вас на путу опоравка. Дакле, хајде да почнемо. Ми видимо да одмах смо само да се уверите да смо коришћењем Рецовер исправно. Дакле, употреба би требало да буде само нешто као тачка коса црта опорави. Сада ћемо отворити очекује картица ДОТ Рав фајл. Ми овде видимо да смо користећи константа сирово доња име датотеке, који овде имамо хасх дефинисана као картица дот сирово. У реду. Дакле, морамо бити сигурни да је успешно отворио јер ако није, онда би требало да упозори корисника. Али под претпоставком да јесте, сада смо ће прогласити бафер величине ЈПЕГ Филе наме дужину. Дакле, ово ће бити бафер који ћемо спринтф у. Дакле, оно што је ЈПЕГ фајл име дужина? Овде горе, видимо да је то хасх дефинише као осам. Па зашто осам? Па с обзиром фајл ће бити именован нешто као нула нула нула. ЈПГ и онда нам треба обрнуту косу црту нула. Зато нам је потребан бафер који могу складиштите осам карактера. Сада ћемо имати контра која је ће пратити број ЈПЕГ смо нашли. И на крају, ми ћемо имати ЈПЕГ фајл који је у почетку нулл који ће бити тренутно отвори фајл који пишемо на. Сада ћемо имати додатни пуфер. Ово није исто као наш спринтф бафер где ово пуфер је један да ми читате у подацима од картица дот сирово. Дакле, бафер ће бити од непотписани знакова, који можете у основи само нас третирају бајтова, а то је ће бити од величине блока величине где, као што смо вам рећи, блок величине је 512. Дакле, ЈПЕГ можете третирати све као блоковима од 512 бајтова. Сада ћемо да петљи преко целог фајл. Идемо у ф прочитати у нашој бафер А Сингле пута бајт блок величине из картица ДОТ Рав фајл. Сада шта ђ чита врати? То даје број ставки да је успешно прочитао. Дакле, ако је успео да прочита 512 бајтова, онда желимо да видимо да ли је то било ЈПЕГ или напиши то на ЈПЕГ фајл. И ако то није врати 512 бајтова, онда или фајл је завршила у том случају ћемо се пробије из и петља, или постоје неки грешке у том случају такође ћемо се пробије из И петља, али ми ћемо желети да пријаве да нешто није у реду. У реду. Дакле, под претпоставком да смо успешно читати у 512 бајтова, желимо да прво проверите да да ови бајтова које смо Управо сам прочитао у ЈПЕГ почне. Дакле, ако је ЈПЕГ заглавље нашег пуфера. Шта је сад ЈПЕГ заглавље ради? Погледајмо. Овде горе, видимо да је ова функција повратак бика, и да бик - добро овде, ми смо проверава да ли заглавље нула једнако ову константу и заглавље један једнако ову константу и заглавље два једнака ову константу, заглавље три једнака ово или ово константна где све ове константе су само хасх дефинисана овде и да су тачно оно што смо вам рекли у спец да ЈПЕГ почиње са. И тако ова функција је само да ретурн труе ако то представља бафер почетак новог ЈПЕГ и иначе фалсе. У реду. Дакле, ако то не представља нову ЈПЕГ, онда ми прво желимо да проверите да ли ЈПЕГ фајл није једнак нулл, у ком случају смо га затворили. А зашто нам је потребно да проверите да видим да није нула? Па први ЈПЕГ да можемо наћи нећемо имати већ отворен ЈПЕГ датотека. И тако, ако покушамо да затвори то, онда ми не радимо нешто сасвим десно. Али сваки наредни ЈПЕГ да отворимо, желимо да затворите претходни фајл. Дакле, сада ћемо користити спринтф као ми рекао пре него где смо помоћу бафер ЈПЕГ датотека име. И ми ћемо користити ЈПЕГ датотеку име формат као наш формату. А шта је то? Овде горе, видимо да је проценат нула 3Д.ЈПЕГ где нула три само каже да ћемо користити три цела броја за то обложено са нулама. Дакле, ово је како ћемо добити нула нула оне.ЈПЕГ и нула 10.јпег и тако даље. Идемо користити спринтф. И цео број који смо убацивањем у низ је утрнула ЈПЕГ опоравио, који је првобитно нуле. Дакле, први фајл отвори се дешава бити нула нула нула тачка ЈПЕГ. А онда смо га тако увецава следећи фајл отворимо ће бити нула нула једна тачка ЈПЕГ и ми ћемо га повећате опет тако да ће бити нула нула два точка ЈПЕГ и тако даље. У реду. Дакле, сада унутар ЈПЕГ име, имамо име филе који желимо. Можемо Ф отворите ту датотеку за писање. У реду. И опет, морамо да проверите да да ли је датотека успешно отворио јер ако није, онда постоји нека грешка. Дакле, сада смо просли је овај део ЈПЕГ. И овде, видимо идемо да пишу на ЈПЕГ. Али, прво морамо ово чек који гласи ако ЈПЕГ датотека не једнак нулл. Зашто нам је потребан да? Па ЈПЕГ датотека једнако нула, када смо тренутно имају отворену ЈПЕГ. Шта ако картица ДОТ Рав почиње са гомилом бајтова који не представљају ЈПЕГ? Онда ћемо желети да прескочите преко тих бајтова. Ако немамо тај чек, онда смо ће писати да неотворен филе првих 512 бајтова картица која није добра. У реду. Дакле, под претпоставком да имамо отворену датотеку, а затим ћемо писати у тој датотеци 512 бајта које имамо у нашој пуферу. И ми смо једном провере да да ли су 512 бајта успешно су писани јер ако нису били успешно написано, онда нешто кренуло наопако. Ми ћемо затворити датотеке, одштампајте да нешто је пошло наопако, и повратак. Под претпоставком да све иде добро, онда ми ћемо задржати лоопинг затварања стари фајл, отворите нови фајл, писање података у нову датотеку, и тако све док коначно, овај ф прочитајте враћа нулу која средства да датотека врши. Тако сада да читање картица је готова, ми видим да ћемо затворити ф последњи фајл који смо имали отворене, али смо проверу да ли ЈПЕГ фајлова не једнак нулл. Па Ф близу има смисла, јер као смо отварање фајлова, ми затварамо претходну слику, али веома последњи фајл који смо отворили никада не затворен. Дакле, то је оно што овај ради. Али зашто нам је потребно да проверите за нулл? Па шта ако је картица ДОТ Рав зар не имају једну ЈПЕГ унутар ње? У том случају, имали бисмо Никада отворио датотеку. А ако ми не отвориш датотеку, ми треба Не покушавајте да затворите тај фајл. Дакле, то је оно што се ради ово провера. Сада овде, као што сам раније рекао, ми смо могли изласком на то да и петљу или ако картица је завршила или ако постоје нека грешка читања са картице. Дакле, ово је проверава да ли је било грешка читања са картице, у том случају, ми ћемо тамо рећи је читање грешка. Ми не желимо да корисник мисли све ишло успешно. И ми ћемо се вратити један за грешке. Коначно, ми ћемо затворити Ф нашу рав фајл, наша картица дот сирово, што значи да све је ишло добро и повратак зеро и то је то. Моје име је Роб и то је Рецовер. [Музика свира]