1 00:00:00,000 --> 00:00:00,494 2 00:00:00,494 --> 00:00:13,350 >> [Muzikavimo] 3 00:00:13,350 --> 00:00:14,080 >> ROB BOWDEN: Sveiki. 4 00:00:14,080 --> 00:00:17,550 Aš Robas, ir tikėkimės, kad šis sprendimas padeda padėti jums 5 00:00:17,550 --> 00:00:19,600 kelyje į atsigavimą. 6 00:00:19,600 --> 00:00:22,700 Taigi, galime pradėti. 7 00:00:22,700 --> 00:00:25,660 >> Mes matome, kad iš karto mes tiesiog įsitikinkite, kad mes 8 00:00:25,660 --> 00:00:27,170 naudojant atkurti teisingai. 9 00:00:27,170 --> 00:00:31,490 Taigi, naudojimas turėtų būti tik kažkas kaip taškas velniop atsigauti. 10 00:00:31,490 --> 00:00:35,500 >> Dabar mes ketiname atidaryti tikimasi skyriaus dot žaliavinio failą. 11 00:00:35,500 --> 00:00:39,740 Čia mes matome, kad mes naudojame pastovus žaliavos pabraukimo failo pavadinimas, 12 00:00:39,740 --> 00:00:44,200 kuris čia mes turime maišos apibrėžiamas kaip skyriaus dot žaliavos. 13 00:00:44,200 --> 00:00:45,030 Gerai. 14 00:00:45,030 --> 00:00:48,210 >> Taigi, mes turime įsitikinti, kad sėkmingai atidaryta, nes jei jis 15 00:00:48,210 --> 00:00:51,150 ne, tada turėtume įspėti vartotoją. 16 00:00:51,150 --> 00:00:56,770 Tačiau darant prielaidą, kad ji, mes dabar ketina paskelbti dydžio JPEG buferį 17 00:00:56,770 --> 00:00:58,170 Failo vardas ilgį. 18 00:00:58,170 --> 00:01:02,060 Taigi tai bus buferis, kad mes ketiname sprintf į. 19 00:01:02,060 --> 00:01:04,360 >> Taigi, kas yra JPEG failų pavadinimo ilgis? 20 00:01:04,360 --> 00:01:08,490 Čia matome, kad tai maišos apibrėžiamas kaip aštuonių. 21 00:01:08,490 --> 00:01:10,670 Tad kodėl aštuonių? 22 00:01:10,670 --> 00:01:15,150 Na pateikta byla bus pavadintas kažkas panašaus nulis nulis nulis. 23 00:01:15,150 --> 00:01:19,460 JPG ir tada mes turime Atgal nerijos velniop nulio. 24 00:01:19,460 --> 00:01:22,720 Taigi mums reikia buferio, kuris gali laikyti aštuonių simbolių. 25 00:01:22,720 --> 00:01:25,190 Dabar mes ketiname turėti skaitiklį, kad yra ketina sekti 26 00:01:25,190 --> 00:01:27,780 numeris JPEG mes radome. 27 00:01:27,780 --> 00:01:31,590 >> Ir pagaliau, mes ketiname turėti JPEG failas, kuris iš pradžių yra niekinis 28 00:01:31,590 --> 00:01:35,920 kurie bus šiuo metu atidaryti failo, kad mes raštu. 29 00:01:35,920 --> 00:01:37,540 Dabar mes ketiname turėti papildomas buferis. 30 00:01:37,540 --> 00:01:41,350 Tai ne tas pats, kaip mūsų sprintf buferio kur buferis yra vienas 31 00:01:41,350 --> 00:01:45,020 kad mes skaityti duomenų iš skyriaus dot žaliavos. 32 00:01:45,020 --> 00:01:48,900 >> Taigi buferis bus iš nepasirašytos simbolių, kuriuos galite 33 00:01:48,900 --> 00:01:53,560 iš esmės tik gydyti mums baitų, ir tai bus iš dydžio bloko dydis 34 00:01:53,560 --> 00:01:57,950 kur, kaip mes tau, bloko dydis yra 512. 35 00:01:57,950 --> 00:02:03,070 Taigi JPEG galite viską gydyti kaip blokų 512 baitų. 36 00:02:03,070 --> 00:02:05,890 >> Dabar mes ketiname kilpa per visą failą. 37 00:02:05,890 --> 00:02:12,980 Mes ketiname f skaityti į mūsų buferis vieną baitą bloko dydis kartus iš 38 00:02:12,980 --> 00:02:14,710 skyriaus dot žaliavinio failą. 39 00:02:14,710 --> 00:02:16,630 Dabar ką f skaityti grįžti? 40 00:02:16,630 --> 00:02:20,050 Ji grąžina prekių kiekį kad sėkmingai skaityti. 41 00:02:20,050 --> 00:02:27,310 Taigi, jei jis sugebėjo skaityti 512 baitų, tada mes norime išsiaiškinti, ar tai buvo 42 00:02:27,310 --> 00:02:29,700 JPEG arba rašyti jį į JPEG failą. 43 00:02:29,700 --> 00:02:34,450 Ir jei ji negrįžo 512 baitų, tada arba byla baigėsi 44 00:02:34,450 --> 00:02:37,870 tokiu atveju mes išeiti iš Y kilpa, arba yra keletas klaidų rūšiuoti 45 00:02:37,870 --> 00:02:40,300 tokiu atveju mes taip pat išeiti iš Y kilpa, bet mes norime pranešti 46 00:02:40,300 --> 00:02:41,990 kad kažkas negerai. 47 00:02:41,990 --> 00:02:42,290 >> Gerai. 48 00:02:42,290 --> 00:02:47,630 Taigi, darant prielaidą, kad mes sėkmingai skaityti į 512 baitų, norime pirmiausia patikrinkite 49 00:02:47,630 --> 00:02:53,070 padaryti, kad šie baitai, kad mes tik skaityti pradėti JPEG. 50 00:02:53,070 --> 00:02:56,430 Taigi, jei yra JPEG antraštė mūsų buferis. 51 00:02:56,430 --> 00:02:58,460 Dabar kas tai yra JPEG antraštės darai? 52 00:02:58,460 --> 00:03:00,120 Pažvelkime. 53 00:03:00,120 --> 00:03:05,270 >> Čia matome, kad ši funkcija yra grąžinant jautį, o jautis - 54 00:03:05,270 --> 00:03:08,820 gerai čia, mes patikrinti, pamatyti, jei antraštė nulis lygu tai konstanta ir 55 00:03:08,820 --> 00:03:11,880 antraštė vienas lygu tai konstanta ir antraštė du lygu tai konstanta, 56 00:03:11,880 --> 00:03:15,640 antraštė trys lygu tai ar tai pastovus, kai visi šie konstantos 57 00:03:15,640 --> 00:03:20,340 tik maišos apibrėžta čia ir yra ką mes jums papasakojo spec 58 00:03:20,340 --> 00:03:22,700 kad JPEG prasideda. 59 00:03:22,700 --> 00:03:27,300 Ir todėl ši funkcija yra tik ketina grąžina true, jei šis buferis yra 60 00:03:27,300 --> 00:03:31,750 naujos JPEG pradžia ir false kitaip. 61 00:03:31,750 --> 00:03:32,520 >> Gerai. 62 00:03:32,520 --> 00:03:38,490 Taigi, jei tai iš tiesų išreiškia naują JPEG, tada mes pirmą kartą noriu patikrinti, pamatyti, jei 63 00:03:38,490 --> 00:03:42,030 JPEG failas nėra lygus nulis, Tokiu atveju mes jį uždaryti. 64 00:03:42,030 --> 00:03:44,940 Ir tai kodėl mes turime patikrinti pamatyti, jei ji nėra nulis? 65 00:03:44,940 --> 00:03:48,980 Na pirmųjų JPEG kad mes rasti mes dar neturite 66 00:03:48,980 --> 00:03:50,440 atvira JPEG failą. 67 00:03:50,440 --> 00:03:55,580 Ir taip, jei mes stengiamės uždaryti, kad paskui mes ne daro kažką gana teisingai. 68 00:03:55,580 --> 00:03:59,090 >> Bet kiekvienas vėlesnis JPEG kad mes atviri, mes norime uždaryti 69 00:03:59,090 --> 00:04:00,710 Ankstesnis failas. 70 00:04:00,710 --> 00:04:04,630 Taigi dabar mes ketiname naudoti sprintf kaip mes sakiau, kai mes naudojame 71 00:04:04,630 --> 00:04:06,280 buferis JPEG failo pavadinimas. 72 00:04:06,280 --> 00:04:09,870 Ir mes ketiname naudoti JPEG failą Pavadinimas Formatas kaip mūsų formatu. 73 00:04:09,870 --> 00:04:12,030 Ir kas tai yra? 74 00:04:12,030 --> 00:04:18,450 Čia matome, kad ji yra lygi nuliui procentų 3D.JPEG kur nulis trys tik 75 00:04:18,450 --> 00:04:22,089 sako, kad mes naudojame tris sveikuosius skaičius tai kamšalu nuliais. 76 00:04:22,089 --> 00:04:27,470 Taigi tai, kaip mes gauti nulis nulis one.JPEG ir nulinės 10.JPEG ir pan. 77 00:04:27,470 --> 00:04:29,060 >> Mes ketiname naudoti sprintf. 78 00:04:29,060 --> 00:04:33,760 Ir sveikasis skaičius, kad mes įterpiant į eilutė yra nutirpęs JPEG 79 00:04:33,760 --> 00:04:36,380 atsigavo, o tai iš pradžių nulio. 80 00:04:36,380 --> 00:04:39,950 Taigi pirmoji byla, užvesta vyksta būti nulis nulis nulis taškų JPEG. 81 00:04:39,950 --> 00:04:43,330 Ir tada mes incrementing taip, kitą bylą mes atidaryti bus nulis nulis 82 00:04:43,330 --> 00:04:46,830 vienas taškas JPEG ir mes prieaugio jį vėl, todėl bus nulis nulis du taškas 83 00:04:46,830 --> 00:04:49,100 JPEG ir pan. 84 00:04:49,100 --> 00:04:49,850 >> Gerai. 85 00:04:49,850 --> 00:04:53,210 Taigi dabar JPEG failo viduje pavadinimas, mes turime vardą 86 00:04:53,210 --> 00:04:54,990 failą, kad mes norime. 87 00:04:54,990 --> 00:04:58,640 Mes galime f atidaryti tą failą raštu. 88 00:04:58,640 --> 00:04:59,170 Gerai. 89 00:04:59,170 --> 00:05:02,820 Ir vėl, mes turime patikrinti, kad įsitikinkite, kad failas sėkmingai 90 00:05:02,820 --> 00:05:08,460 atidaryti nes jei ne, tada ten buvo keletas klaidų. 91 00:05:08,460 --> 00:05:13,100 >> Taigi dabar mes Dotarłeś praeityje tai JPEG dalis. 92 00:05:13,100 --> 00:05:16,390 Ir čia mes matome, mes ketiname rašyti į JPEG. 93 00:05:16,390 --> 00:05:20,980 Bet pirmiausiai mes turime šį patikrinimą, kuriame sakoma, jei JPEG failas neatsidaro vienodą null. 94 00:05:20,980 --> 00:05:22,490 Kodėl mums reikia, kad? 95 00:05:22,490 --> 00:05:28,020 Na JPEG failas Lygu null, kai mes Šiuo metu atvirą JPEG. 96 00:05:28,020 --> 00:05:31,870 >> Ką daryti, jei kortelės dot žaliavos prasideda su baitais krūva, kad 97 00:05:31,870 --> 00:05:33,510 nekelia JPEG? 98 00:05:33,510 --> 00:05:36,240 Tada mes ketiname norite praleisti per tuos baitus. 99 00:05:36,240 --> 00:05:39,600 Jei mes neturime šį patikrinimą, tada mes ketina rašyti neatidarytas 100 00:05:39,600 --> 00:05:45,540 pateikti pirmuosius 512 baitų kortelė, kuri nėra gera. 101 00:05:45,540 --> 00:05:46,030 Gerai. 102 00:05:46,030 --> 00:05:51,330 >> Taigi, darant prielaidą, kad mes turime atvirą failą, tada mes ketiname rašyti šį failą 103 00:05:51,330 --> 00:05:53,290 512 baitų, kad mes turime mūsų buferis. 104 00:05:53,290 --> 00:05:57,390 Ir mes vėl tikrinti, kad įsitikinkite, kad 512 baitų sėkmingai 105 00:05:57,390 --> 00:06:01,140 buvo parašyta, nes jei jie nebuvo sėkmingai parašyta, tada kažkas 106 00:06:01,140 --> 00:06:02,080 nutiko. 107 00:06:02,080 --> 00:06:06,540 Mes užmerkti failus, spausdinti, kad kažkas negerai, ir grąža. 108 00:06:06,540 --> 00:06:10,940 Darant prielaidą, kad viskas teisingai, tada mes nuolat vyrių uždarymo 109 00:06:10,940 --> 00:06:15,060 senas failas, atidarant naują failą, rašymas duomenis į naują failą, ir todėl 110 00:06:15,060 --> 00:06:20,990 , kol, pagaliau, tai f skaityti grąžina nulį, kuris reiškia 111 00:06:20,990 --> 00:06:23,280 kad failas yra padaryta. 112 00:06:23,280 --> 00:06:28,490 >> Taigi dabar, kad kortelės skaitymas yra daugiau, mes matyti, kad mes ketiname f uždaryti 113 00:06:28,490 --> 00:06:33,250 paskutinį failą, kad mes turėjome atidaryti, bet mes tikrinti, ar JPEG failą 114 00:06:33,250 --> 00:06:34,900 nėra vienodas null. 115 00:06:34,900 --> 00:06:39,520 Na f arti prasminga, nes, kaip mes atidaryti failus, mes uždarymo 116 00:06:39,520 --> 00:06:43,870 Ankstesnis failas, bet pats paskutinis failą, kad mes atidarėme niekada pasireiškia uždarytas. 117 00:06:43,870 --> 00:06:45,580 Štai kas tai daro. 118 00:06:45,580 --> 00:06:47,720 >> Bet kodėl mes turime patikrinti null? 119 00:06:47,720 --> 00:06:53,130 Na ką, jei kortelės dot žaliava nebuvo turėti vieną JPEG viduje jo? 120 00:06:53,130 --> 00:06:56,640 Tokiu atveju, mes turėtume niekada atidaryti failą. 121 00:06:56,640 --> 00:07:00,230 Ir jei mes niekada atidaryti failą, turėtume ne bandyti uždaryti tą failą. 122 00:07:00,230 --> 00:07:03,000 Štai ką šis tikrinimas daro. 123 00:07:03,000 --> 00:07:07,880 >> Dabar čia, kaip minėjau anksčiau, mes galime lūžo dėmesį, kad y kilpa arba jei 124 00:07:07,880 --> 00:07:13,520 kortelė pasibaigė ar yra kai klaida skaitant iš kortelės. 125 00:07:13,520 --> 00:07:16,680 Taigi, tai yra patikrinti, pamatyti, jei ten buvo skaityti iš kortelės, iš klaidų 126 00:07:16,680 --> 00:07:19,400 Tokiu atveju, mes ten sako buvo nuskaitymo klaida. 127 00:07:19,400 --> 00:07:22,130 Mes nenorime, kad vartotojas galėtų galvoti viskas sėkmingai nuėjo. 128 00:07:22,130 --> 00:07:24,750 Ir mes vėl viena ir klaidos. 129 00:07:24,750 --> 00:07:29,580 >> Galiausiai, mes f uždaryti mūsų žaliavinio failą, mūsų skyriaus dot žalias, siekiant nurodyti, kad 130 00:07:29,580 --> 00:07:34,070 viskas buvo gerai ir grąžinimas nulis ir viskas. 131 00:07:34,070 --> 00:07:36,130 >> Mano vardas yra Rob ir tai buvo susigrąžinti. 132 00:07:36,130 --> 00:07:42,102 >> [Muzikavimo]