1 00:00:00,000 --> 00:00:07,810 2 00:00:07,810 --> 00:00:09,840 >> JASON Hirschhorn: Sveiki, visi, kad 6 savaitės. 3 00:00:09,840 --> 00:00:14,790 Man malonu matyti jus visus gyvas ir gerai po viktorina 0, nes žinau, kad 4 00:00:14,790 --> 00:00:15,810 buvo šiek tiek grubus. 5 00:00:15,810 --> 00:00:18,370 Bet laimei, jūs visi padarė neįtikėtinai gerai. 6 00:00:18,370 --> 00:00:21,680 Ir todėl, kad yra nuostabus. 7 00:00:21,680 --> 00:00:25,840 Jei esate mano skyriuje, aš davė labiausiai jums atgal savo viktorinos jau. 8 00:00:25,840 --> 00:00:28,050 >> Jus pora, aš susitikti po klasę. 9 00:00:28,050 --> 00:00:32,360 Ir jei jūs pratęsimas studentas ir jūs negavote savo viktoriną atgal 10 00:00:32,360 --> 00:00:35,490 dar, jūsų TF tikriausiai su juo dirbti ir ją klasifikuoti, ir gauti jį atgal 11 00:00:35,490 --> 00:00:36,490 Netrukus jums. 12 00:00:36,490 --> 00:00:39,650 Taigi, mano pratęsimas studentų, kurie žiūrėti dabar - tikiuosi gyventi - 13 00:00:39,650 --> 00:00:42,880 Aš gausiu savo viktorinos netrukus taip pat. 14 00:00:42,880 --> 00:00:45,670 >> Mūsų darbotvarkė šiandien yra taip. 15 00:00:45,670 --> 00:00:50,170 Pirma, mes ketiname eiti per kai ištekliai, CS50 suteikia jums. 16 00:00:50,170 --> 00:00:54,590 Mes ketiname eiti per viktorina 0 kitą, ir Aš atsakyti į visus klausimus kas nors 17 00:00:54,590 --> 00:00:57,360 turi apie konkrečias problemas. 18 00:00:57,360 --> 00:01:02,050 Ir tada mes bus vyksta per Aš failo / O ir problema nustatyti 5. 19 00:01:02,050 --> 00:01:07,360 Tie du paskutiniai temos imsis iki iš dalies urmu šiandien. 20 00:01:07,360 --> 00:01:11,680 >> Aš įdėti šį sąrašą kiekvieną savaitę priminimas jums visiems, tačiau šerdies 21 00:01:11,680 --> 00:01:14,650 skyriuje, turime tik 90 minučių - mes negali apimti viską, kad aš 22 00:01:14,650 --> 00:01:16,280 norėčiau padengti jums vaikinai. 23 00:01:16,280 --> 00:01:21,170 Bet mes turime išteklių toną jums remtis, kaip jums žinoti, 24 00:01:21,170 --> 00:01:24,000 medžiagos ir darbai per jūsų problema rinkiniai. 25 00:01:24,000 --> 00:01:30,810 >> Priminimas, kad aš internete tekstą dėžė, įsteigti jums užpildyti, jei 26 00:01:30,810 --> 00:01:33,250 turite atsiliepimų apie mane, tiek teigiamą, tiek 27 00:01:33,250 --> 00:01:35,180 konstruktyvus, apie skyriuje. 28 00:01:35,180 --> 00:01:38,600 Kad URL yra teisingas čia. 29 00:01:38,600 --> 00:01:43,250 Taigi, prašome, skirkite laiko, jei turite kokių nors grįžtamasis ryšys, ar skyriuje metu, 30 00:01:43,250 --> 00:01:48,030 arba vėliau, arba po to, kai žiūrėti video internete, duoti man savo atsiliepimus. 31 00:01:48,030 --> 00:01:52,100 Aš tikrai vertiname bet ir visa tai. 32 00:01:52,100 --> 00:01:55,730 >> Taigi, aš jau turintys mažas pokalbiai su mano likimas 33 00:01:55,730 --> 00:01:59,350 studentai per savaitę - kaip aš ranka atgal viktorinos, kalbame apie 34 00:01:59,350 --> 00:02:01,480 Žinoma, pamatyti, kaip jūs darote. 35 00:02:01,480 --> 00:02:05,120 Ir viena tema atėjo vėl ir daugiau kalbame apie - į 36 00:02:05,120 --> 00:02:05,660 pirma - 37 00:02:05,660 --> 00:02:07,710 problema rinkiniai. 38 00:02:07,710 --> 00:02:13,090 Ir aš aplieti tą temą ant lentos dabar. 39 00:02:13,090 --> 00:02:16,630 >> Iš esmės, nėra skirtumo tarp posūkio į kažką, kad yra 40 00:02:16,630 --> 00:02:19,590 padaryta teisingai ir kažkas kad yra padaryta gerai. 41 00:02:19,590 --> 00:02:22,920 Dauguma žmonių buvo padaryti fantastinis kalbant apie teisingumą - 42 00:02:22,920 --> 00:02:25,460 5 s arba 4 s visose psets. 43 00:02:25,460 --> 00:02:27,930 Dauguma žmonių vis tų visą laiką. 44 00:02:27,930 --> 00:02:31,150 >> Tačiau tik todėl, kad jūs padaryti kažkas teisė nereiškia, jūs 45 00:02:31,150 --> 00:02:34,450 padaryti kažką taip elegantiškai, arba efektyviai, arba kaip švariai, kaip jūs 46 00:02:34,450 --> 00:02:35,270 galėjo padaryti. 47 00:02:35,270 --> 00:02:36,790 Ir tai, ką dizainas - 48 00:02:36,790 --> 00:02:39,230 ir kiek mažesniu mastu, stilius - 49 00:02:39,230 --> 00:02:40,450 ašys yra skirti. 50 00:02:40,450 --> 00:02:45,130 Taigi, aš stumiu visus jus, ir kiti TFS stumia jums vaikinai, ne tik savo ruožtu 51 00:02:45,130 --> 00:02:48,320 dalykų, kurie yra teisingi, tačiau savo ruožtu į dalykus, kurie koduotų gerai. 52 00:02:48,320 --> 00:02:53,060 >> Nedaryti nereikalingų kilpos, ne perskaičiuojant kintamuosius, jei 53 00:02:53,060 --> 00:02:53,800 Jūs neturite. 54 00:02:53,800 --> 00:02:58,520 Pavyzdžiui, žvelgiant į problemą, 4, Dėdami plytų 55 00:02:58,520 --> 00:03:03,070 ekranas, kiekviena eilutė - kiekviena plyta teikiama eilutė yra pats y koordinatė - 56 00:03:03,070 --> 00:03:04,390 tas pats aukštis koordinuoti. 57 00:03:04,390 --> 00:03:07,930 >> Kad y koordinatė nereikėjo apskaičiuojamas viduje interjeras 58 00:03:07,930 --> 00:03:11,070 įdėtos už linijos, kad jūs tikriausiai naudojamas įdėti tuos plytas ekrane. 59 00:03:11,070 --> 00:03:14,030 Reikia tik būti skaičiuojamas kiekvieną kartą įjungtas eilutę, arba 60 00:03:14,030 --> 00:03:15,200 persikėlė žemyn eilutę. 61 00:03:15,200 --> 00:03:19,760 Taigi sako, kad jei yra 10 plytų eilutėje, kiekviena plyta gali turėti tą patį 62 00:03:19,760 --> 00:03:22,260 y koordinatė, ir kad y koordinatė tiesiog galima apskaičiuoti 63 00:03:22,260 --> 00:03:23,550 kartą visiems laikams iš tų. 64 00:03:23,550 --> 00:03:27,810 >> Ji nebūtinai turi būti apskaičiuojama 10 kartus, nei tai daro skaičiavimas poreikis 65 00:03:27,810 --> 00:03:30,220 atsitikti faktinis skambinimo funkcijos - 66 00:03:30,220 --> 00:03:33,020 nauja gracked skambinimo funkcijos. 67 00:03:33,020 --> 00:03:37,820 Taigi, jei tai buvo šiek tiek painu Jums daugiau bendrine, viskas, kad 68 00:03:37,820 --> 00:03:40,730 nereikia atsitikti kiekvieną kartą jūs einate per DĖL kilpa turi būti ne 69 00:03:40,730 --> 00:03:42,900 įdėti viduje už linijos, ir neturėtų atsitikti kiekvieną kartą jums eiti 70 00:03:42,900 --> 00:03:44,080 per už linijos. 71 00:03:44,080 --> 00:03:49,270 >> Kitas geras dizainas pavyzdys matėme skirtame 15 3 savaitės, galima laikyti 72 00:03:49,270 --> 00:03:50,500 kelio nuo nulio. 73 00:03:50,500 --> 00:03:53,600 Taigi, kai jūs inicijuoti valdyba, jums sutaupyti - į pasaulinį kintamąjį, galbūt - 74 00:03:53,600 --> 00:03:56,140 x ir y koordinatė lygi nuliui. 75 00:03:56,140 --> 00:03:57,520 Ir tada, kai jūs - 76 00:03:57,520 --> 00:04:00,310 savo judėjimo funkciją, kai jūs padarote sėkmingas žingsnis, galite atnaujinti 77 00:04:00,310 --> 00:04:02,040 vieta nulio. 78 00:04:02,040 --> 00:04:06,240 >> Kad būtų išgelbėti jus nuo būtinybės daryti įdėtos UŽ kilpos atrodo per 79 00:04:06,240 --> 00:04:10,700 įlipti kiekvieną kartą jūsų judėjimo funkcija ir rasti nulį, arba rasti plytelių, 80 00:04:10,700 --> 00:04:12,460 ir tada patikrinkite, kas šalia jo. 81 00:04:12,460 --> 00:04:16,329 Vietoj to, jūs turite vietą nulis, galite tiesiog pažvelgti aukščiau, žemiau, 82 00:04:16,329 --> 00:04:21,160 ir į kairę ir į dešinę nuo jos, rasti plytelių ieškojote. 83 00:04:21,160 --> 00:04:24,970 >> Taigi, atsižvelgiant į programų negu mes raštu, jie niekada pakankamai didelis, 84 00:04:24,970 --> 00:04:28,580 kad kai kurie iš šių dizaino sprendimus yra tikrai ketina trukdyti savo 85 00:04:28,580 --> 00:04:31,670 programa, arba padaryti jį paleisti lėčiau, arba galbūt net pritrūksta atminties. 86 00:04:31,670 --> 00:04:35,030 Bet mes vis dar stumia jus vaikinai rašyti elegantiškas ir 87 00:04:35,030 --> 00:04:36,450 efektyvus kodas, kaip įmanoma. 88 00:04:36,450 --> 00:04:39,910 >> Taigi, jei jūs galų gale rašyti dalykus kad turi gerokai didesni 89 00:04:39,910 --> 00:04:44,660 apimtis, jie bus parašyta gera projektuoti be to, yra teisinga. 90 00:04:44,660 --> 00:04:46,300 Taigi iš turite skaičius atnešė, kad iš. 91 00:04:46,300 --> 00:04:48,560 Štai ką mes ieškome - kažkas, ką mes ketiname ir toliau 92 00:04:48,560 --> 00:04:49,840 stumti jums vaikinai. 93 00:04:49,840 --> 00:04:52,460 >> Jei kada nors turite kokių nors klausimų apie dizainas jūsų programoje, nedvejodami 94 00:04:52,460 --> 00:04:56,870 pasiekti, kad mane, ir aš laimingas vaikščioti per savo programą su jumis, 95 00:04:56,870 --> 00:05:01,320 ir atkreipti dėmesį į kai dizainas sprendimus jums padaryti, ir duoti jums kai kurie 96 00:05:01,320 --> 00:05:06,240 patarimai, kaip padaryti dar geriau dizaino sprendimus. 97 00:05:06,240 --> 00:05:08,870 >> Taigi, mes ketiname pereiti kalbėti apie Testas 0. 98 00:05:08,870 --> 00:05:11,300 Prieš tai darome, ar kas nors turite kokių nors klausimų apie tai, kas 99 00:05:11,300 --> 00:05:14,252 Aš taikomas iki šiol? 100 00:05:14,252 --> 00:05:21,500 >> [Čežėjimas TRIUKŠMO] 101 00:05:21,500 --> 00:05:22,750 >> JASON Hirschhorn: septynias sekundes. 102 00:05:22,750 --> 00:05:23,250 Gerai. 103 00:05:23,250 --> 00:05:24,970 Pakalbėkime apie Testas 0 truputį. 104 00:05:24,970 --> 00:05:26,700 Dauguma iš jūsų turite savo Viktorina 0 galinį. 105 00:05:26,700 --> 00:05:29,820 Jei ne, tikiuosi pamenate jį šiek tiek. 106 00:05:29,820 --> 00:05:34,770 Bet jei jūs atlikote testą 0, tada taip pat turi prieigą prie PDF internete 107 00:05:34,770 --> 00:05:35,890 bandinių tirpalus. 108 00:05:35,890 --> 00:05:39,480 >> Ar kas nors turite kokių nors klausimų prieš mes peršokti į savaitės medžiagą apie 109 00:05:39,480 --> 00:05:41,520 pirma problema viktorina 0 - 110 00:05:41,520 --> 00:05:44,630 kodėl atsakymas kas tai yra? 111 00:05:44,630 --> 00:05:47,255 Ar kas nors supainioti apie ką nors? 112 00:05:47,255 --> 00:05:50,230 Net jei jūs turite problemų darbe, tačiau tiesiog norėtų man paaiškinti šiek tiek 113 00:05:50,230 --> 00:05:52,640 daugiau, aš laimingas, kad tai padaryti dabar. 114 00:05:52,640 --> 00:05:57,800 >> Taigi, aš paklausiau jūsų vaikinai būkite pasiruošę su kai 115 00:05:57,800 --> 00:05:59,440 mintys apie Testas 0. 116 00:05:59,440 --> 00:06:02,660 Taigi, kas norėtų gauti mums prasidėjo su klausimu ar 117 00:06:02,660 --> 00:06:04,655 komentarą apie Testas 0? 118 00:06:04,655 --> 00:06:07,435 119 00:06:07,435 --> 00:06:10,410 >> [POPIERIAUS čežėjimas] 120 00:06:10,410 --> 00:06:11,470 >> JASON Hirschhorn: Ne visi padarė puikiai. 121 00:06:11,470 --> 00:06:12,720 Taigi aš žinau [juokiasi] 122 00:06:12,720 --> 00:06:15,950 ten turi būti kai kurie klausimai apie Testas 0. 123 00:06:15,950 --> 00:06:27,940 124 00:06:27,940 --> 00:06:28,590 Gerai. 125 00:06:28,590 --> 00:06:29,210 Taip. 126 00:06:29,210 --> 00:06:29,600 Ompica. 127 00:06:29,600 --> 00:06:30,520 >> OMPICA skaičius: 10. 128 00:06:30,520 --> 00:06:33,560 >> JASON Hirschhorn skaičius: 10. 129 00:06:33,560 --> 00:06:35,400 Kurių vienas buvo numeris 10? 130 00:06:35,400 --> 00:06:35,840 >> OMPICA: - 131 00:06:35,840 --> 00:06:36,420 >> JASON Hirschhorn: Aš haven't - 132 00:06:36,420 --> 00:06:37,670 >> OMPICA: yra - 133 00:06:37,670 --> 00:06:40,060 134 00:06:40,060 --> 00:06:42,180 >> JASON Hirschhorn skaičius: 10 buvo aštuoneri I - raštu Aštuoni i? 135 00:06:42,180 --> 00:06:42,980 >> OMPICA: Taip. 136 00:06:42,980 --> 00:06:43,630 >> JASON Hirschhorn: Gerai. 137 00:06:43,630 --> 00:06:47,390 Taigi, dar vienas klausimas, kurį gali turėti paprašė buvo aš pranašiškas? 138 00:06:47,390 --> 00:06:48,630 Atsakymas yra taip. 139 00:06:48,630 --> 00:06:52,060 Skyriuje prieš viktoriną, aš paprašiau jus vaikinai kodas abu sterlingų ir 140 00:06:52,060 --> 00:06:52,980 aštuonių iki i. 141 00:06:52,980 --> 00:06:54,770 Abu atsitiko ant viktorina. 142 00:06:54,770 --> 00:06:57,510 Taigi, tikiuosi, jums mokama dėmesį į tai. 143 00:06:57,510 --> 00:07:02,520 >> Ir jei jūs turėjo, tada jums reikės tikriausiai padaryta gerai šių dviejų. 144 00:07:02,520 --> 00:07:06,030 Tačiau aštuonių iki i, mes ne iš tikrųjų kodas tai klasėje, bet jis buvo vėl 145 00:07:06,030 --> 00:07:07,500 paklaustas viktorinoje. 146 00:07:07,500 --> 00:07:13,270 Taigi iš ko imtis pora dėmesį, kai kodavimo Aštuoni i. 147 00:07:13,270 --> 00:07:17,320 Pirmas dalykas, už klausimą, buvo kad jums reikia patikrinti, ar eilutė 148 00:07:17,320 --> 00:07:20,300 buvo lygus nulis. 149 00:07:20,300 --> 00:07:28,060 >> Pora žmonių bandė patikrinti vėliau programoje, jei ai laikiklis buvau - 150 00:07:28,060 --> 00:07:30,940 taip specifika tuo, kad eilutę - buvo lygus nulis. 151 00:07:30,940 --> 00:07:35,600 Bet atsiminkite, kad niekinis iš esmės - tai gerai, kad galvoti apie 152 00:07:35,600 --> 00:07:39,100 null žymi nuliniu žymeklis - rodyklę į nulinę - 153 00:07:39,100 --> 00:07:40,920 Kažkur atmintyje, kur jūs niekada negali pasiekti. 154 00:07:40,920 --> 00:07:44,730 >> Taigi, jei kažkas yra lygus nulis, jūs žinau, kad tai nebuvo rengiami, 155 00:07:44,730 --> 00:07:46,430 ar ten nieko nėra. 156 00:07:46,430 --> 00:07:50,950 Taigi s char žvaigždė, s laikiklis i char. 157 00:07:50,950 --> 00:07:57,410 Taigi prasminga lyginti s NULL, bet ai laikiklis i nulis. 158 00:07:57,410 --> 00:07:59,390 Bet vėl - kad buvo pirmas dalykas, kad jums turėjo padaryti - 159 00:07:59,390 --> 00:08:03,510 įsitikinkite, kad jūs iš tikrųjų gavo tikrą eilutę. 160 00:08:03,510 --> 00:08:08,020 >> Be to, jūs norite eiti per kiekvieną simbolį į eilutę. 161 00:08:08,020 --> 00:08:12,500 Ir taip, kad būtų kaip us laikiklis Aš, pavyzdžiui, jei aš jūsų iteratorius. 162 00:08:12,500 --> 00:08:17,250 Ir imtis tą simbolį ir gauti savo tikrąją vertę. 163 00:08:17,250 --> 00:08:21,800 Jūs turite jį saugoti kaip char, bet ASCII reikšmė už nulį - 164 00:08:21,800 --> 00:08:23,010 nulis kaip simbolį - 165 00:08:23,010 --> 00:08:25,450 faktiškai nėra sveikasis skaičius nulis. 166 00:08:25,450 --> 00:08:28,700 Tai kai kurių kitų skaičių, kad jūs galite ieškoti ASCII lentelėje. 167 00:08:28,700 --> 00:08:30,790 >> Taigi, vienas iš būdų ištaisyti, kad - tikriausiai geriausias būdas ištaisyti 168 00:08:30,790 --> 00:08:33,760 kad - tai atimti iš jo charakteris vertė - 169 00:08:33,760 --> 00:08:35,140 nulio kaip simbolį. 170 00:08:35,140 --> 00:08:38,490 Taigi minus kabutes, nulis, kitas kabutes. 171 00:08:38,490 --> 00:08:44,620 Tai užims kokia skaičius jūs turite kaip char, ir gauti jį lygūs 172 00:08:44,620 --> 00:08:46,720 skaičius faktiniu sveikojo skaičiaus. 173 00:08:46,720 --> 00:08:50,300 >> Ir tai yra labai panašus į požiūrį Daug žmonių paėmė į 174 00:08:50,300 --> 00:08:52,800 problema nustatyti 2, su Cezario ir Viginere - 175 00:08:52,800 --> 00:08:55,160 tie šifrai, kai buvo sukant juos. 176 00:08:55,160 --> 00:08:59,210 Taigi, kai jūs turite tai, kaip iš skaičiaus nuo nulio iki devynių, tada - priklausomai nuo 177 00:08:59,210 --> 00:09:02,750 kur jis eina į galutinį skaičių - jūs turite padauginkite jį 178 00:09:02,750 --> 00:09:04,120 pagal 10 galios. 179 00:09:04,120 --> 00:09:07,340 >> Kai kurie žmonės persikėlė iš nugaros priekinis ir dauginama individą 180 00:09:07,340 --> 00:09:08,940 skaičius pasiekė 10 galios. 181 00:09:08,940 --> 00:09:11,160 Kai kurie žmonės persikėlė iš pirmyn arba atgal - 182 00:09:11,160 --> 00:09:14,430 ir tt paėmė aukščiausia eilės numeriai yra pirmasis - 183 00:09:14,430 --> 00:09:18,190 ir būtų galima sutaupyti tuos pasaulinės kovos su kintama. 184 00:09:18,190 --> 00:09:20,880 Ir tada kiekvienas per Time kilpa, dauginti, kad milžinas pasaulio 185 00:09:20,880 --> 00:09:25,640 kovoti kintamąjį 10, kad vietos į kitą char. 186 00:09:25,640 --> 00:09:28,750 >> Taigi, tai buvo šiek tiek klaidina, be man rašyti ant lentos. 187 00:09:28,750 --> 00:09:31,550 Bet mėginio tirpalas yra prieinamas jums. 188 00:09:31,550 --> 00:09:32,870 Bet tai buvo dideli dalykai mes ieškojome. 189 00:09:32,870 --> 00:09:36,400 Taip pat įsitikinkite, kad kiekvienas individualių savybių iš tikrųjų buvo 190 00:09:36,400 --> 00:09:39,780 simbolis nuo nulio iki devynių, o ne kai kurių kitų simbolių, kaip A, 191 00:09:39,780 --> 00:09:41,160 pavyzdžiui. 192 00:09:41,160 --> 00:09:43,150 >> Tai buvo tai, ką mes buvo ieškote tame klausimas. 193 00:09:43,150 --> 00:09:46,510 194 00:09:46,510 --> 00:09:47,980 Ar tai atsakymas į jūsų klausimą? 195 00:09:47,980 --> 00:09:49,320 >> OMPICA: Taip. 196 00:09:49,320 --> 00:09:50,240 >> JASON Hirschhorn: Gerai. 197 00:09:50,240 --> 00:09:53,940 Ar yra kokių nors kitų klausimų apie Testas 0? 198 00:09:53,940 --> 00:09:55,440 Ką apie kompiliavimo? 199 00:09:55,440 --> 00:09:56,740 Visi sudarant tiesa? 200 00:09:56,740 --> 00:09:58,370 Ne. 201 00:09:58,370 --> 00:09:58,840 Nebuvo - 202 00:09:58,840 --> 00:10:01,010 [Juokiasi] 203 00:10:01,010 --> 00:10:03,265 Bet apie klausimai kompiliavimo procesas? 204 00:10:03,265 --> 00:10:06,050 205 00:10:06,050 --> 00:10:06,966 Wow. 206 00:10:06,966 --> 00:10:11,090 >> [POPIERIAUS čežėjimas] 207 00:10:11,090 --> 00:10:11,520 >> JASON Hirschhorn: Taip. 208 00:10:11,520 --> 00:10:11,700 Michael. 209 00:10:11,700 --> 00:10:14,140 >> MICHAEL: Ar skaičius 7 - atsitiktinis? 210 00:10:14,140 --> 00:10:16,500 >> JASON Hirschhorn skaičius: 7. 211 00:10:16,500 --> 00:10:20,670 Skaičius 7 buvo gauti atsitiktinį sveikąjį skaičių. 212 00:10:20,670 --> 00:10:21,110 Puikus. 213 00:10:21,110 --> 00:10:25,630 Taigi jums suteikta sveikasis a ir sveikas b ir norite atsitiktinis 214 00:10:25,630 --> 00:10:28,710 sveikasis skaičius tarp a ir b. 215 00:10:28,710 --> 00:10:31,740 Mes iš tiesų gali parašyti šį vieną ant lenta, nes tai vienas 216 00:10:31,740 --> 00:10:33,320 buvo viena eilutė kodo - 217 00:10:33,320 --> 00:10:34,390 vienas iš būdų tai padaryti. 218 00:10:34,390 --> 00:10:37,810 >> Taigi, mes teikiama drand kaip funkcija galėtume naudoti. 219 00:10:37,810 --> 00:10:38,820 Ir ką drand - 220 00:10:38,820 --> 00:10:40,290 darant prielaidą, kad jis buvo sėjami - 221 00:10:40,290 --> 00:10:42,316 Ką drand grįžti? 222 00:10:42,316 --> 00:10:44,840 >> Michael: tarp 0,0 ir 1,0 plūdė. 223 00:10:44,840 --> 00:10:45,530 >> JASON Hirschhorn: skaičius - taip. 224 00:10:45,530 --> 00:10:47,910 Tarp 0 ir 1 skaičius. 225 00:10:47,910 --> 00:10:51,760 Ir todėl mes turime b ir. 226 00:10:51,760 --> 00:10:55,480 Ir tada mes turime atsitiktinį skaičių tarp 0 ir 1 suteikta mums drand. 227 00:10:55,480 --> 00:11:01,480 228 00:11:01,480 --> 00:11:06,630 Kai kurie žmonės bandė įdėti b arba b atėmus , ar kažkas viduje tie 229 00:11:06,630 --> 00:11:07,960 skliaustelius. 230 00:11:07,960 --> 00:11:11,210 Tai reikštų, kad jie argumentai šia funkcija. 231 00:11:11,210 --> 00:11:13,450 >> drand nesiima jokių argumentų - kaip getString nėra 232 00:11:13,450 --> 00:11:14,330 nesiima jokių argumentų. 233 00:11:14,330 --> 00:11:16,600 Taigi, tai tik atidaryti skliaustas, netoli paren - ir kad pati yra 234 00:11:16,600 --> 00:11:17,330 skambinimo funkcijos. 235 00:11:17,330 --> 00:11:19,770 Ir tai suteikia jums numerį tarp 0 ir 1. 236 00:11:19,770 --> 00:11:22,820 Žinoma, mes turime visą eilę kad numeriai gali būti in 237 00:11:22,820 --> 00:11:28,470 >> Pasakykite, jei b yra 10 ir yra 5, mes tikrai norite numerį su 5 diapazone. 238 00:11:28,470 --> 00:11:36,940 Taigi kitas dalykas, kurį turime padaryti, tai padauginti diapazono b minus. 239 00:11:36,940 --> 00:11:40,380 Taigi, darant prielaidą, kad manimi padauginta. 240 00:11:40,380 --> 00:11:42,590 Ir tai jums duos mums numerį per tam tikrą intervalą. 241 00:11:42,590 --> 00:11:46,610 Ir kad konkrečios ribos yra skirtumas tarp b minus. 242 00:11:46,610 --> 00:11:50,030 >> Ir, pagaliau, kad bus pateikti tik nuo - pasakyti tarp b minus spektrą 243 00:11:50,030 --> 00:11:52,520 yra 5, tai duosiu mums skaičius nuo 0 iki 5. 244 00:11:52,520 --> 00:11:56,000 Bet jei iš tikrųjų yra 5, turime padidinti šis intervalas iki kur jis 245 00:11:56,000 --> 00:12:01,380 iš tikrųjų turėtų būti, pridedant. 246 00:12:01,380 --> 00:12:02,580 Taigi, kad gauna logika teisę. 247 00:12:02,580 --> 00:12:03,745 Ir tada jūs turite kitas klausimas? 248 00:12:03,745 --> 00:12:04,547 >> MICHAEL: Ne 249 00:12:04,547 --> 00:12:06,010 Aš tiesiog jaustis tikrai kvailas dabar. 250 00:12:06,010 --> 00:12:06,405 [Juokiasi] 251 00:12:06,405 --> 00:12:06,730 >> JASON Hirschhorn: Ne 252 00:12:06,730 --> 00:12:08,640 Negalima jaustis tikrai kvailas. 253 00:12:08,640 --> 00:12:10,560 Kovojo žmonių skaičius su šiuo klausimu. 254 00:12:10,560 --> 00:12:13,920 Ir tada kitas klausimas, drand, jūs sakėte, suteikia Jums trintuve - 255 00:12:13,920 --> 00:12:14,940 grąžina plūdę. 256 00:12:14,940 --> 00:12:18,020 Tačiau ši funkcija iš tikrųjų paprašė už sveikasis skaičius turi būti grąžintas. 257 00:12:18,020 --> 00:12:23,700 >> Jums nereikia mesti tai aiškiai iki sveikojo skaičiaus, nes tai 258 00:12:23,700 --> 00:12:29,090 operacijos bus traktuoti kaip visų a plaukti - kaip slankaus kablelio skaičių. 259 00:12:29,090 --> 00:12:31,570 Teigiamas valios - net jei tai yra sveikasis skaičius, tai bus 260 00:12:31,570 --> 00:12:32,890 dauginamas teisingai. 261 00:12:32,890 --> 00:12:34,000 Visi daugybos veiks. 262 00:12:34,000 --> 00:12:35,060 Jums nereikia mesti jį čia. 263 00:12:35,060 --> 00:12:36,480 Tiesą sakant, jums nereikia mesti. 264 00:12:36,480 --> 00:12:37,310 >> Tai - 265 00:12:37,310 --> 00:12:40,750 jei būtų mesti numeris tai tarp 0 ir 1 - 266 00:12:40,750 --> 00:12:42,680 atsitiktinis skaičius, slankiojo kablelio - 267 00:12:42,680 --> 00:12:47,850 tada jis bus arba tik 0 arba 1, todėl jūs prarasite visą tą tikslumo. 268 00:12:47,850 --> 00:12:50,120 Bet pabaigoje, kai grįšite, jis automatiškai gauna 269 00:12:50,120 --> 00:12:51,620 siunčiami atgal kaip sveikasis skaičius. 270 00:12:51,620 --> 00:12:56,870 Taigi jums nereikia daryti kad liejimo sau. 271 00:12:56,870 --> 00:13:00,810 >> Taigi, tai buvo atsakymas kad klausimas, skaičius 7. 272 00:13:00,810 --> 00:13:02,190 Visi kiti klausimai viktorina 0? 273 00:13:02,190 --> 00:13:03,300 Taip, Annie. 274 00:13:03,300 --> 00:13:05,050 >> Annie: Kai mes naudojame rekursyvūs - 275 00:13:05,050 --> 00:13:07,850 kai mes naudojame iteraciniais kilpas? 276 00:13:07,850 --> 00:13:10,210 >> JASON Hirschhorn: Kada naudoti rekursywny - tiek apskritai 277 00:13:10,210 --> 00:13:14,110 privalumus ir trūkumus rekursijos palyginti iteracinis metodas. 278 00:13:14,110 --> 00:13:17,110 Ar kas nors pasiūlyti Pro arba pa? 279 00:13:17,110 --> 00:13:19,460 Prašome? 280 00:13:19,460 --> 00:13:20,140 Negali kas nors. 281 00:13:20,140 --> 00:13:22,526 Kas gali pasiūlyti Pro arba pa? 282 00:13:22,526 --> 00:13:26,963 >> [POPIERIAUS čežėjimas] 283 00:13:26,963 --> 00:13:29,730 >> STUDENTŲ 1: Ciklas yra mažiau kodavimas - mažiau rašyti? 284 00:13:29,730 --> 00:13:33,170 >> JASON Hirschhorn: Taigi paprastai, rekursija ypač funkcija - 285 00:13:33,170 --> 00:13:35,750 arba kaip suliejimo algoritmas rūšiuoti - kuris skolina pati 286 00:13:35,750 --> 00:13:37,300 į grįžtamojo požiūrį - 287 00:13:37,300 --> 00:13:40,710 galėtų būti paprastesnis koduoti rekursyviai. 288 00:13:40,710 --> 00:13:43,940 Ir tiesiog padaryti daugiau prasmės daryti rekursyviai. 289 00:13:43,940 --> 00:13:46,230 Taigi, kad būtų Pro rekursijos. 290 00:13:46,230 --> 00:13:46,610 Kiti? 291 00:13:46,610 --> 00:13:47,467 Taip? 292 00:13:47,467 --> 00:13:49,240 >> STUDENTŲ 2: con rekursijos - 293 00:13:49,240 --> 00:13:50,940 Jis naudoja daugiau atminties. 294 00:13:50,940 --> 00:13:52,200 >> JASON Hirschhorn: Taigi visiškai teisus. 295 00:13:52,200 --> 00:13:55,720 Grįžtamojo funkcija nuolat pridedant kamino rėmai į steką. 296 00:13:55,720 --> 00:13:59,690 Taigi, jei jūs veikia ant daug numerius ir skambinti tai 297 00:13:59,690 --> 00:14:02,560 veikti daug, tada jums bus tikrai užima daugiau atminties, o 298 00:14:02,560 --> 00:14:05,810 iteracinis metodas bus įdėti tik vieną kamino rėmas ant kamino, nes 299 00:14:05,810 --> 00:14:08,420 viskas vyksta per vieną funkciją. 300 00:14:08,420 --> 00:14:11,010 >> Visi kiti privalumai ir trūkumai? 301 00:14:11,010 --> 00:14:11,500 Taip. 302 00:14:11,500 --> 00:14:12,550 >> STUDENTŲ 3: Argumentai "už rekursijos. 303 00:14:12,550 --> 00:14:15,950 Jūs neturite nustatyti, iš anksto, kiek kartų 304 00:14:15,950 --> 00:14:17,660 kodas turi būti pakartotas. 305 00:14:17,660 --> 00:14:22,810 Jūs galite turėti iš anksto nustatytų kartų, kad jūs turite pakartoti, tada 306 00:14:22,810 --> 00:14:26,420 rekursija yra geriau, nes ji užima tokį rezultatą. 307 00:14:26,420 --> 00:14:27,780 >> JASON Hirschhorn: Aš manau, kad tai tiesa. 308 00:14:27,780 --> 00:14:30,770 Bet manau, kad abiem atvejais Jūs niekada - 309 00:14:30,770 --> 00:14:33,290 jūs tikriausiai kažkiek įvestis iš vartotojo. 310 00:14:33,290 --> 00:14:35,990 Ar ši funkcija būtų turėti tam tikrą įvestį kad būtų nustatyti, kiek kartų ji 311 00:14:35,990 --> 00:14:36,730 turėtų veikti. 312 00:14:36,730 --> 00:14:39,520 Taigi paprastai, tai būtų ne sunku kodą - net kartotinį metodą - kaip 313 00:14:39,520 --> 00:14:40,940 daug kartų, kad kilpa turėtų būti paleisti. 314 00:14:40,940 --> 00:14:46,100 315 00:14:46,100 --> 00:14:48,670 >> Ar turite dar buvai galvoju apie Annie? 316 00:14:48,670 --> 00:14:49,330 Gerai. 317 00:14:49,330 --> 00:14:51,650 Taigi tie, kurie tikriausiai du - 318 00:14:51,650 --> 00:14:54,370 Didžiausias pro ir didžiausia con palyginti rekursywny 319 00:14:54,370 --> 00:14:57,080 iteracinis metodas. 320 00:14:57,080 --> 00:14:57,690 Gerai. 321 00:14:57,690 --> 00:14:59,465 Kitoks apie Testas 0? 322 00:14:59,465 --> 00:15:08,940 323 00:15:08,940 --> 00:15:09,920 >> Pereikime. 324 00:15:09,920 --> 00:15:15,260 Failo I / O. Yra nuostabus trumpas šią savaitę failą I / O, kad tikiuosi, 325 00:15:15,260 --> 00:15:19,270 turite stebėjo keletą kartų, ir žavisi. 326 00:15:19,270 --> 00:15:22,910 Daug darbo nuvyko į, kad ir aš girdėjau, jis yra neįtikėtinai naudinga. 327 00:15:22,910 --> 00:15:25,740 Aš taip pat buvo įtrauktas į šios skaidrės nuorodą jei jūs neturėjote 328 00:15:25,740 --> 00:15:29,160 galimybė žiūrėti 10 kartų. 329 00:15:29,160 --> 00:15:35,280 >> Taigi, mes ketiname trumpai eiti per pagrindiniai žingsniai į atidarymo ir darbo 330 00:15:35,280 --> 00:15:38,400 su failais, o tada mes ketiname pasinerti į kodavimo problemos prieš 331 00:15:38,400 --> 00:15:40,400 Nagrinėjant šią problemą, rinkinį. 332 00:15:40,400 --> 00:15:44,330 Taigi dar kartą, aš ruošiuosi įdėti šią ant ekranas, bet aš ruošiuosi kalbėti 333 00:15:44,330 --> 00:15:47,630 tik minutę apie tai, ką mes čia darai su byla I/O-- 334 00:15:47,630 --> 00:15:49,090 Ką tai reiškia? 335 00:15:49,090 --> 00:15:55,280 >> Tai reiškia, kad mes galime sukurti mūsų programos, ir tada mūsų programas 336 00:15:55,280 --> 00:16:00,370 išeiti, o ne padarė jokio poveikio pasaulis ne mūsų programą. 337 00:16:00,370 --> 00:16:04,630 Bet kai mes pradėti dirbti su failais - ir juos skaityti ir kurti 338 00:16:04,630 --> 00:16:10,460 jie - mes galime turėti tam tikrą poveikį pasaulis ne mūsų programą. 339 00:16:10,460 --> 00:16:15,440 >> Tiesiog, pavyzdžiui, jei "Microsoft Word" nesugebėjo atlikti bet kokius Word "dokumentus, tada 340 00:16:15,440 --> 00:16:18,710 kai programa "Microsoft Word mesti, visi jūsų darbai bus dingo, ir jis būtų 341 00:16:18,710 --> 00:16:19,740 tikrai nenaudingas. 342 00:16:19,740 --> 00:16:23,620 Mes galiausiai nori, kad būtų galima rašyti programas, kurios gali turėti įtakos 343 00:16:23,620 --> 00:16:31,350 juos supantį pasaulį, tiek atsižvelgiant į sudėtingų įėjimai - Kalbant apie failų ir 344 00:16:31,350 --> 00:16:37,080 per failus, taip pat sukuriant įdomu ir įtikinamų išėjimai - 345 00:16:37,080 --> 00:16:39,520 kalbant apie įvairių tipų failus. 346 00:16:39,520 --> 00:16:43,730 >> Taigi tai yra, kodėl mes pradedame išmokti dirbti su failais. 347 00:16:43,730 --> 00:16:47,080 Tiksliau, tai, ką mes darome taip. 348 00:16:47,080 --> 00:16:47,680 Tai labai paprasta. 349 00:16:47,680 --> 00:16:51,530 Yra tik pora žingsnių, ir jie išvardyti čia šiuo kodu. 350 00:16:51,530 --> 00:16:55,130 Taigi, mes ketiname eiti per šis kodas eilutė po eilutės. 351 00:16:55,130 --> 00:16:57,630 >> Pirma, jums pamatyti, pabrėžė - 352 00:16:57,630 --> 00:17:01,330 kai dirbate su failu, nepriklausomai nuo failo tipo jis yra, 353 00:17:01,330 --> 00:17:02,670 turite ją atidaryti. 354 00:17:02,670 --> 00:17:05,130 Ir tai yra, ragindamas fopen - 355 00:17:05,130 --> 00:17:05,950 čia. 356 00:17:05,950 --> 00:17:07,980 Jūs taip pat failo pavadinimą. 357 00:17:07,980 --> 00:17:11,930 Jei failas yra ne jūsų katalogą, arba aplanką, kuriame ši programa 358 00:17:11,930 --> 00:17:15,910 gyvenimas, tada jums taip pat reikia įtraukti Kelias į kur, kad failas yra. 359 00:17:15,910 --> 00:17:19,099 >> Mes ketiname daryti prielaidą, kad šis failas, vadinamas "text.txt", - 360 00:17:19,099 --> 00:17:24,220 paprastas tekstinis dokumentas - yra tame pačiame aplanke kaip šios programos. 361 00:17:24,220 --> 00:17:26,859 Štai dar vienas dalykas, išlaikyti protas - kad jei norite atidaryti failą 362 00:17:26,859 --> 00:17:30,050 kažkur kitur, jūs iš tikrųjų reikia įtraukti savo vietą. 363 00:17:30,050 --> 00:17:33,520 >> Antra, jūs galite praeiti argumentą fopen, ir tai, ką norite daryti 364 00:17:33,520 --> 00:17:34,620 su failu. 365 00:17:34,620 --> 00:17:38,450 Yra trys pagrindiniai argumentai, kad jūs ketinate pereiti į fopen. 366 00:17:38,450 --> 00:17:40,060 Kas gali duoti man tuos tris? 367 00:17:40,060 --> 00:17:44,960 368 00:17:44,960 --> 00:17:47,130 Kas gali man duoti vieną iš jų? 369 00:17:47,130 --> 00:17:48,130 Taip. 370 00:17:48,130 --> 00:17:50,010 >> STUDENTŲ 4: failo pavadinimas? 371 00:17:50,010 --> 00:17:50,440 >> JASON Hirschhorn: Atsiprašome. 372 00:17:50,440 --> 00:17:55,490 Trys pagrindiniai argumentai galite pereiti kaip antrasis argumentas fopen. 373 00:17:55,490 --> 00:17:57,060 Tu teisus - failo pavadinimas yra pirmasis argumentas. 374 00:17:57,060 --> 00:18:01,620 Tačiau antrasis argumentas yra fopen paprastai trys stygos, ir - taip. 375 00:18:01,620 --> 00:18:02,210 Aleja. 376 00:18:02,210 --> 00:18:03,490 >> Aleja: už Papildyti. 377 00:18:03,490 --> 00:18:06,840 >> JASON Hirschhorn: jei norite pridėti į failą, kuris jau egzistuoja. 378 00:18:06,840 --> 00:18:07,810 >> STUDENTŲ 5: R skaitymo. 379 00:18:07,810 --> 00:18:09,930 >> JASON Hirschhorn: R jei nori skaityti iš failo. 380 00:18:09,930 --> 00:18:10,670 >> STUDENTŲ 6: W rašyti. 381 00:18:10,670 --> 00:18:12,840 >> JASON Hirschhorn: ir W, jei noriu rašyti į failą. 382 00:18:12,840 --> 00:18:17,570 Taigi šiuo atveju, mes raštu į failą, todėl mes turime m. 383 00:18:17,570 --> 00:18:22,360 Atidarius ją, jūs taip pat turite išsaugoti failą kažkur, ir kad su 384 00:18:22,360 --> 00:18:26,000 kodą į kairės pusės priskyrimo operatorius - 385 00:18:26,000 --> 00:18:31,220 Kuriu žymiklį į failą vadinamas, šiuo atveju, byloje. 386 00:18:31,220 --> 00:18:36,070 >> Mes neketiname jaudintis kas tai visi dangteliai FAILO dalykas yra. 387 00:18:36,070 --> 00:18:40,600 Užtenka pasakyti, tai ilgai srautas nulių ir. 388 00:18:40,600 --> 00:18:44,970 Ir tai, kaip mes ketiname eksploatuoti ją ir suprasti. 389 00:18:44,970 --> 00:18:47,300 >> Kitas dalykas, kurį turime padaryti, - ir tai yra labai svarbu - 390 00:18:47,300 --> 00:18:49,070 kai atidarote failą - 391 00:18:49,070 --> 00:18:54,250 Tiesą sakant, kai skambinate malloc, už pavyzdys, ir gauti šiek tiek atminties ir bandyti 392 00:18:54,250 --> 00:18:57,980 ir išsaugokite jį žymiklį, visada norite įsitikinkite, kad 393 00:18:57,980 --> 00:19:00,230 funkcija negrįžo null. 394 00:19:00,230 --> 00:19:05,230 >> Taigi šiuo atveju, mes patikrinti, kad tikri, kad mes iš tikrųjų atvėrė 395 00:19:05,230 --> 00:19:10,230 pateikti teisingai, ir ten buvo ne mūsų programoje klaida. 396 00:19:10,230 --> 00:19:15,160 Be to, kai mes patikrinti įsitikinti kad mes turime darbo bylą, galime 397 00:19:15,160 --> 00:19:18,520 rašyti ar skaityti, arba pridėti prie bylos medžiagos. 398 00:19:18,520 --> 00:19:24,270 Šiuo atveju, aš tiesiog spausdinti viena eilutė į šį failą. 399 00:19:24,270 --> 00:19:25,450 >> Kaip man žinoti, kad? 400 00:19:25,450 --> 00:19:27,990 Na, aš naudoju šią funkciją vadinamas fprintf. 401 00:19:27,990 --> 00:19:30,970 Visas funkcijas, jums bus naudojant kai raštu ar skaityti iš, arba 402 00:19:30,970 --> 00:19:34,950 manipuliuoti failus bus panašus į funkcijos, kurias mačiau anksčiau, bet 403 00:19:34,950 --> 00:19:38,420 prasideda raide F, stovėti failą. 404 00:19:38,420 --> 00:19:43,440 Ir fprintf, skirtingai nei mūsų įprasto spausdinti programa, priima vieną papildomą argumentą, 405 00:19:43,440 --> 00:19:47,800 ir kad yra failas, kuriame jūs norite spausdinti šį liniją. 406 00:19:47,800 --> 00:19:50,640 >> Aš neturiu nieko iš ohai teisus. 407 00:19:50,640 --> 00:19:52,860 Aš neturiu trečdalį argumentas printf - 408 00:19:52,860 --> 00:19:57,030 arba antrasis argumentas printf, Trečiasis argumentas fprintf, nes aš 409 00:19:57,030 --> 00:19:59,480 neturi jokių rezervuotų čia. 410 00:19:59,480 --> 00:20:01,070 Nesu įskaitant visus kintamuosius. 411 00:20:01,070 --> 00:20:06,070 Bet vėl, fprintf ir visų šių failą funkcijos, kurios veikia su failais 412 00:20:06,070 --> 00:20:09,820 paprastai reikės failą , dėl kurių jie veikia. 413 00:20:09,820 --> 00:20:15,960 >> Galiausiai, paskutinis svarbus dalykas padaryti yra uždaryti bylą, kaip 414 00:20:15,960 --> 00:20:19,530 su - kai mes malloc kažką, norime išlaisvinti kažką, kad mums 415 00:20:19,530 --> 00:20:22,730 turi atminties nutekėjimas - mes norime uždaryti savo failą. 416 00:20:22,730 --> 00:20:28,180 Jei ši programa išėjo be uždarymo failą, šansai yra, niekas eiti 417 00:20:28,180 --> 00:20:30,050 negerai, ypač jei jis buvo mažas failas. 418 00:20:30,050 --> 00:20:35,020 >> Bet tai yra tikrai gera kodavimo stilius ir praktiškai visada uždarykite failą 419 00:20:35,020 --> 00:20:38,050 kai baigsite jį naudoti. 420 00:20:38,050 --> 00:20:43,630 Taigi, tai yra failo pagrindai I / O. Jūs tikriausiai matė, kad prieš arba 421 00:20:43,630 --> 00:20:45,710 žiūrėdavau ją toje žiauriai trumpas. 422 00:20:45,710 --> 00:20:48,410 Ar kas nors turi kokių nors klausimų, prieš mes einame į tikrą praktiką kodavimo 423 00:20:48,410 --> 00:20:51,800 problemos, apie failą I / O arba žingsniai aš tiesiog nuėjo per? 424 00:20:51,800 --> 00:21:00,198 425 00:21:00,198 --> 00:21:03,162 >> [Rašyti GARSAI] 426 00:21:03,162 --> 00:21:04,150 >> JASON Hirschhorn: Ar jums turiu klausimą, AVI? 427 00:21:04,150 --> 00:21:04,660 >> AVI: Ne 428 00:21:04,660 --> 00:21:04,740 >> JASON Hirschhorn: Gerai. 429 00:21:04,740 --> 00:21:06,746 Aš ruošiuosi laukti kito septynios sekundės. 430 00:21:06,746 --> 00:21:07,590 [Juokiasi] 431 00:21:07,590 --> 00:21:08,620 Tai tikrai geras patarimas. 432 00:21:08,620 --> 00:21:10,750 Vaikinai tiesiog nepatinka klausinėti. 433 00:21:10,750 --> 00:21:11,660 Tai gerai. 434 00:21:11,660 --> 00:21:12,330 Gerai. 435 00:21:12,330 --> 00:21:17,620 Taigi, pirmasis mūsų praktika problema yra, mes esame vyksta dubliuoti funkciją 436 00:21:17,620 --> 00:21:22,330 komandinės eilutės įrankis, kad jūs tikriausiai naudojamas prieš - kopija - 437 00:21:22,330 --> 00:21:23,500 kopija įrankis. 438 00:21:23,500 --> 00:21:28,050 Jei įvesite cp ir perduoti jį du argumentai į savo terminalą, galite 439 00:21:28,050 --> 00:21:28,980 nukopijuoti failą. 440 00:21:28,980 --> 00:21:31,220 Ir tai, ką mes ketiname rašyti dabar. 441 00:21:31,220 --> 00:21:35,830 >> Taigi dar kartą, skaityti nuo šios skaidrės, aš jums parašyti programą, kuri trunka 442 00:21:35,830 --> 00:21:38,130 du ir tik du komandų eilutės argumentai - 443 00:21:38,130 --> 00:21:40,750 šaltinio failo ir paskirties failas - 444 00:21:40,750 --> 00:21:44,590 ir nukopijuoja šaltinio turinys failą faile 445 00:21:44,590 --> 00:21:46,960 vienas baitas metu. 446 00:21:46,960 --> 00:21:48,510 Štai daug prašyti. 447 00:21:48,510 --> 00:21:52,200 >> Vėlgi, geras požiūris į tai, kad ne eiti tiesiai į C kodą, tačiau 448 00:21:52,200 --> 00:21:54,280 ją padalyti į keletą etapų pora. 449 00:21:54,280 --> 00:21:58,400 Pirmiausia, pagalvokite apie logika - tiksliai ką aš prašau jus padaryti - 450 00:21:58,400 --> 00:22:00,620 ir suprasti visus žingsniai šia problema. 451 00:22:00,620 --> 00:22:04,410 Ne C, tiesiog kai Pseudocode, ar net psichikos modelis 452 00:22:04,410 --> 00:22:06,030 kas vyksta. 453 00:22:06,030 --> 00:22:10,050 >> Be to, kai jūs turite Pseudocode žemyn, išsiaiškinti, kaip Pseudocode 454 00:22:10,050 --> 00:22:14,600 žemėlapiai ant įrankių ir daiktų mes išmoko naudotis C 455 00:22:14,600 --> 00:22:19,070 >> Ir pagaliau, kai jūs turite viską, kartu, galite koduoti problemą. 456 00:22:19,070 --> 00:22:23,370 Paimkite 5 iki 10 minučių dirbti dėl šios problemos. 457 00:22:23,370 --> 00:22:25,800 Aš įdėti instrukcijas atgal į viršų per sekundę. 458 00:22:25,800 --> 00:22:27,990 Ir tada mes ketiname eiti per Pseudocode ir kodas 459 00:22:27,990 --> 00:22:29,230 jis gyvena kaip grupė. 460 00:22:29,230 --> 00:22:31,640 >> Jei turite kokių nors klausimų, o jūs dirba tai, nedvejodami pakelti 461 00:22:31,640 --> 00:22:34,260 ranka, ir aš ateisiu aplink ir į juos atsakyti. 462 00:22:34,260 --> 00:22:37,020 463 00:22:37,020 --> 00:22:39,330 >> STUDENTŲ 7: Ar galiu servetėlės popierėlis? 464 00:22:39,330 --> 00:22:41,537 >> JASON Hirschhorn: Kas naujo? 465 00:22:41,537 --> 00:26:46,047 466 00:26:46,047 --> 00:26:48,043 >> [Rašyti GARSAI] 467 00:26:48,043 --> 00:26:48,730 >> JASON Hirschhorn: Gerai. 468 00:26:48,730 --> 00:26:51,710 Eikime per Pseudocode pirmas, ir tada aš duosiu jums pora daugiau 469 00:26:51,710 --> 00:26:52,960 minutes baigti kodavimo. 470 00:26:52,960 --> 00:26:55,540 471 00:26:55,540 --> 00:26:58,650 >> Kas norėtų pradėti mane su pirmoje eilutėje 472 00:26:58,650 --> 00:27:00,030 Pseudocode šią funkciją? 473 00:27:00,030 --> 00:27:03,330 474 00:27:03,330 --> 00:27:05,740 >> STUDENTŲ 8: Įsitikinkite, kad Jums buvo suteikta du failus. 475 00:27:05,740 --> 00:27:06,990 >> JASON Hirschhorn: Gerai. 476 00:27:06,990 --> 00:27:21,270 477 00:27:21,270 --> 00:27:22,990 Ir jei mes ne? 478 00:27:22,990 --> 00:27:25,974 >> STUDENTŲ 8: Norėčiau grįžti 0. 479 00:27:25,974 --> 00:27:27,872 >> JASON Hirschhorn: Ar grįšime 0? 480 00:27:27,872 --> 00:27:30,182 >> STUDENTŲ 8: Grįžimas - 481 00:27:30,182 --> 00:27:30,650 ištrinant. 482 00:27:30,650 --> 00:27:30,850 Atsiprašau. 483 00:27:30,850 --> 00:27:31,210 >> JASON Hirschhorn: Taip. 484 00:27:31,210 --> 00:27:32,710 Tikriausiai ne 0. 485 00:27:32,710 --> 00:27:34,680 Kadangi 0 reiškia, viskas buvo gerai. 486 00:27:34,680 --> 00:27:35,030 Gerai. 487 00:27:35,030 --> 00:27:36,730 Štai pirmoji eilutė iš Pseudocode. 488 00:27:36,730 --> 00:27:38,715 Kas užima antrą eilutę Pseudocode? 489 00:27:38,715 --> 00:27:40,630 >> STUDENTŲ 9: Atidarykite abu failus? 490 00:27:40,630 --> 00:27:41,880 >> JASON Hirschhorn: Atidarykite abu failus. 491 00:27:41,880 --> 00:27:49,970 492 00:27:49,970 --> 00:27:50,920 Gerai? 493 00:27:50,920 --> 00:27:52,850 >> STUDENTŲ 10: Patikrinkite jei failas yra NULL? 494 00:27:52,850 --> 00:28:10,906 495 00:28:10,906 --> 00:28:12,580 >> JASON Hirschhorn: Patikrinkite tikrai nei yra NULL. 496 00:28:12,580 --> 00:28:15,800 Kaip panaikinti - 497 00:28:15,800 --> 00:28:17,540 Slash 0 - 498 00:28:17,540 --> 00:28:18,887 yra tai, kad NULL? 499 00:28:18,887 --> 00:28:20,080 >> STUDENTŲ 11 Ne 500 00:28:20,080 --> 00:28:21,190 >> JASON Hirschhorn: Tai ne NULL. 501 00:28:21,190 --> 00:28:23,400 Tai vadinama NULL terminatorius. 502 00:28:23,400 --> 00:28:25,580 Tai iš tikrųjų rašomas tik su viena l. 503 00:28:25,580 --> 00:28:28,580 Taigi tikrinant kažką prieš tai - tai tikrai pobūdis - 504 00:28:28,580 --> 00:28:31,710 taip tikrinant kažką prieš, kad būtų ne tas pats, kaip patikrinti, ar jis 505 00:28:31,710 --> 00:28:32,690 Lygu NULL. 506 00:28:32,690 --> 00:28:34,100 >> Ir kai kurie žmonės - 507 00:28:34,100 --> 00:28:36,040 savo viktorinos ir jų problemos rinkiniai - turime 508 00:28:36,040 --> 00:28:36,890 du iš jų painioti. 509 00:28:36,890 --> 00:28:38,830 Bet du iš jų yra iš tiesų skirtingos. 510 00:28:38,830 --> 00:28:40,220 Vienas baigiasi eilutę - 511 00:28:40,220 --> 00:28:43,210 vienas yra rodyklė į 0. 512 00:28:43,210 --> 00:28:46,490 >> STUDENTŲ 12: Kodėl gi ne jums patikrinti įsitikinkite, kad failai yra ne NULL 513 00:28:46,490 --> 00:28:48,670 Prieš juos atidaryti? 514 00:28:48,670 --> 00:28:54,772 >> JASON Hirschhorn: Taigi atvira taupo kažkas tame faile. 515 00:28:54,772 --> 00:28:57,780 Ir jei grįžti čia - 516 00:28:57,780 --> 00:28:59,520 todėl ši eilutė - fopen - 517 00:28:59,520 --> 00:29:05,300 duos jums adresą ir parduotuvę kad adresas failo, jei ji veikia. 518 00:29:05,300 --> 00:29:07,650 Jei jis neveikia, tai bus saugomi NULL - 519 00:29:07,650 --> 00:29:08,020 >> STUDENTŲ 12: oh. 520 00:29:08,020 --> 00:29:08,180 Gerai. 521 00:29:08,180 --> 00:29:08,500 Turiu tave. 522 00:29:08,500 --> 00:29:09,050 >> JASON Hirschhorn: Be failą. 523 00:29:09,050 --> 00:29:11,990 Taigi, jūs negalite patikrinti for null prieš jūs atidarė jas. 524 00:29:11,990 --> 00:29:13,520 NULL reiškia kažkas nepadarė dirbti teisingai. 525 00:29:13,520 --> 00:29:18,030 526 00:29:18,030 --> 00:29:18,740 Gerai. 527 00:29:18,740 --> 00:29:22,590 Taigi, įsitikinkite, kad nė vienas nėra? 528 00:29:22,590 --> 00:29:23,200 Ar yra? 529 00:29:23,200 --> 00:29:23,770 Ką manote? 530 00:29:23,770 --> 00:29:24,310 Mes eiti su tuo. 531 00:29:24,310 --> 00:29:24,520 >> STUDENTŲ 13: Ar. 532 00:29:24,520 --> 00:29:25,020 >> JASON Hirschhorn: Ar? 533 00:29:25,020 --> 00:29:25,930 Nei yra? 534 00:29:25,930 --> 00:29:26,350 >> STUDENTŲ 13: Ar. 535 00:29:26,350 --> 00:29:26,390 >> JASON Hirschhorn: Gerai. 536 00:29:26,390 --> 00:29:28,510 Mes, atrodo, kad kai kurie sutariama, kad. 537 00:29:28,510 --> 00:29:30,520 Nei NULL. 538 00:29:30,520 --> 00:29:32,250 Gerai, kitą eilutę Pseudocode. 539 00:29:32,250 --> 00:29:33,600 Kas nedavė man linija Dar neužsiregistravęs? 540 00:29:33,600 --> 00:29:37,350 541 00:29:37,350 --> 00:29:38,295 Mes laukiame Jūsų. 542 00:29:38,295 --> 00:29:39,020 Taip. 543 00:29:39,020 --> 00:29:40,895 >> STUDENTŲ 14: Jūs turite perskaityti nuo pirmos failo? 544 00:29:40,895 --> 00:29:42,290 >> JASON Hirschhorn: Gerai. 545 00:29:42,290 --> 00:29:46,240 >> STUDENTŲ 14: Arba mes naudojame fscanf arba kažkas panašaus, kad pirmą failą? 546 00:29:46,240 --> 00:29:50,650 >> JASON Hirschhorn: Taigi mes norime skaityti nuo pirmos failo ir - 547 00:29:50,650 --> 00:29:51,900 tegul įdėti, kad čia. 548 00:29:51,900 --> 00:30:00,600 549 00:30:00,600 --> 00:30:01,880 Skaityti iš šaltinio failo. 550 00:30:01,880 --> 00:30:05,370 Ir tada, ką mes darome, kai mes skaityti iš šaltinio failo? 551 00:30:05,370 --> 00:30:06,620 Kažkas? 552 00:30:06,620 --> 00:30:09,150 553 00:30:09,150 --> 00:30:12,190 >> STUDENTŲ 15: Rašyti į Paskirties failas? 554 00:30:12,190 --> 00:30:22,080 555 00:30:22,080 --> 00:30:25,620 >> JASON Hirschhorn: Mes rašome Paskirties failas, ir - 556 00:30:25,620 --> 00:30:26,210 Gerai. 557 00:30:26,210 --> 00:30:30,030 Ką dar mes trūksta? 558 00:30:30,030 --> 00:30:32,460 Kažkas, kas nedavė man eilutėje kodas dar - iš Pseudocode. 559 00:30:32,460 --> 00:30:33,510 Taip. 560 00:30:33,510 --> 00:30:36,540 >> STUDENTŲ 16: Gal galite visada patikrinkite ar ten kažką skaityti, 561 00:30:36,540 --> 00:30:37,970 kaip kitą eilutę? 562 00:30:37,970 --> 00:30:39,550 Tai yra, pavyzdžiui, į kitą eilutę, pamatyti, jei ji egzistuoja. 563 00:30:39,550 --> 00:30:40,660 >> [ELEKTRONINIS PYP] 564 00:30:40,660 --> 00:30:41,095 >> JASON Hirschhorn: Oi. 565 00:30:41,095 --> 00:30:43,120 Tai mano žurnalinė programinė įranga. 566 00:30:43,120 --> 00:30:43,580 Taip? 567 00:30:43,580 --> 00:30:44,960 >> STUDENTŲ 16: Taip. 568 00:30:44,960 --> 00:30:48,940 >> JASON Hirschhorn: Taigi suteikti jis man dar kartą. 569 00:30:48,940 --> 00:30:51,640 >> STUDENTŲ 16: Patikrinkite, ar nėra dar kitą eilutę iš 570 00:30:51,640 --> 00:30:52,920 šaltinio failo skaityti. 571 00:30:52,920 --> 00:30:53,500 >> JASON Hirschhorn: Gerai. 572 00:30:53,500 --> 00:30:56,060 Taigi mes ne skaityti linijos - skaitė baitų čia - 573 00:30:56,060 --> 00:30:57,590 bet jūs teisingai. 574 00:30:57,590 --> 00:31:00,040 Mes norime, kad skaityti ir rašyti iki nėra daugiau baitų. 575 00:31:00,040 --> 00:31:11,430 576 00:31:11,430 --> 00:31:11,735 Gerai. 577 00:31:11,735 --> 00:31:16,940 Ir taip tai tikrai turėtų būti atitrauktas tiek, nes jie pagal ten. 578 00:31:16,940 --> 00:31:17,470 Teisė? 579 00:31:17,470 --> 00:31:20,620 Kol mes iš baitų, mes ketiname skaityti iš šaltinio failo ir rašyti 580 00:31:20,620 --> 00:31:22,160 į rezultatų failą. 581 00:31:22,160 --> 00:31:24,510 >> Ir tada, kas yra paskutinis linija Pseudocode? 582 00:31:24,510 --> 00:31:26,380 Kažkas, kas nedavė man kažkas dar. 583 00:31:26,380 --> 00:31:29,270 584 00:31:29,270 --> 00:31:30,260 >> STUDENTŲ 17: Uždarykite failus? 585 00:31:30,260 --> 00:31:31,510 >> JASON Hirschhorn: Būtent. 586 00:31:31,510 --> 00:31:36,370 587 00:31:36,370 --> 00:31:37,450 Uždaryti failus. 588 00:31:37,450 --> 00:31:38,400 Taigi mūsų Pseudocode. 589 00:31:38,400 --> 00:31:41,870 Aš ruošiuosi įdėti Pseudocode į gedit, ir po poros minučių mes 590 00:31:41,870 --> 00:31:44,626 bus koduoti tai kartu. 591 00:31:44,626 --> 00:33:55,280 592 00:33:55,280 --> 00:33:56,000 >> Gerai. 593 00:33:56,000 --> 00:33:58,290 Leiskite mums pradėti kaip grupė. 594 00:33:58,290 --> 00:33:59,940 Nishant, turiu naują failą. 595 00:33:59,940 --> 00:34:01,130 Aš ką tik pradėjo tai padaryti. 596 00:34:01,130 --> 00:34:01,880 Untitled Document 1. 597 00:34:01,880 --> 00:34:05,490 Kas pirmas dalykas, kurį aš turėčiau daryti? 598 00:34:05,490 --> 00:34:07,040 >> Nishant: Įtraukti bibliotekas? 599 00:34:07,040 --> 00:34:08,219 >> JASON Hirschhorn: Gerai. 600 00:34:08,219 --> 00:34:11,070 Su kokiomis bibliotekomis? 601 00:34:11,070 --> 00:34:17,570 >> Nishant: stdio.h, stdlib.h, manau? 602 00:34:17,570 --> 00:34:18,000 >> JASON Hirschhorn: Gerai. 603 00:34:18,000 --> 00:34:21,592 Kas yra stdlib už? 604 00:34:21,592 --> 00:34:23,010 >> Nishant: Pamiršau. 605 00:34:23,010 --> 00:34:23,219 >> JASON Hirschhorn: Gerai. 606 00:34:23,219 --> 00:34:24,179 Taigi yra stdio. 607 00:34:24,179 --> 00:34:28,630 Ką turėčiau daryti, dar prieš Aš pradedu kodavimo? 608 00:34:28,630 --> 00:34:29,710 >> Nishant: Rašyti antraštę? 609 00:34:29,710 --> 00:34:31,830 >> JASON Hirschhorn: Kaip man gauti tai spalvos? 610 00:34:31,830 --> 00:34:34,060 >> [Tarpines BALSAI] 611 00:34:34,060 --> 00:34:35,040 >> Nishant: Kaip jums jis spalvos? 612 00:34:35,040 --> 00:34:38,060 >> JASON Hirschhorn: Kaip man spalvos kodavimas? 613 00:34:38,060 --> 00:34:38,570 >> Nishant: Aš nežinau. 614 00:34:38,570 --> 00:34:38,830 Oh. 615 00:34:38,830 --> 00:34:39,389 Išsaugoti. 616 00:34:39,389 --> 00:34:39,929 >> JASON Hirschhorn: Save. 617 00:34:39,929 --> 00:34:40,270 Taip. 618 00:34:40,270 --> 00:34:41,760 Turėčiau įrašyti jį kaip. C. 619 00:34:41,760 --> 00:34:46,239 Taigi išsaugokite jį darbalaukyje kaip cp.c. 620 00:34:46,239 --> 00:34:47,280 Saldus. 621 00:34:47,280 --> 00:34:51,199 Ir jei aš noriu gauti visą stilių taškai, ką turėčiau 622 00:34:51,199 --> 00:34:53,085 yra viršuje? 623 00:34:53,085 --> 00:34:58,390 >> Nishant: Jūs galite rašyti savo vardą, pavardę, pavadinimą programos, ir tam tikslui 624 00:34:58,390 --> 00:34:59,640 programos, taip pat? 625 00:34:59,640 --> 00:35:08,400 626 00:35:08,400 --> 00:35:10,040 >> JASON Hirschhorn: Atrodo gerai. 627 00:35:10,040 --> 00:35:10,470 Puikus. 628 00:35:10,470 --> 00:35:12,940 Taigi, kai jūs pradėjote mums ne puikiai. 629 00:35:12,940 --> 00:35:13,720 # Include - 630 00:35:13,720 --> 00:35:15,365 mes taip pat rašyti - 631 00:35:15,365 --> 00:35:30,050 632 00:35:30,050 --> 00:35:30,870 Gerai. 633 00:35:30,870 --> 00:35:33,520 Taigi, manau, aš visi nustatyti eiti. 634 00:35:33,520 --> 00:35:38,003 Kas turi pirmą eilutę kodo man - arba pirmosios eilučių kodo, kad 635 00:35:38,003 --> 00:35:41,280 ji imsis, kad patenkinti mūsų pirmasis paaiškinimus Pseudocode? 636 00:35:41,280 --> 00:35:41,985 Jūs. 637 00:35:41,985 --> 00:35:48,780 >> STUDENTŲ 18: Ar nebūtų int argc, tada char * argv? 638 00:35:48,780 --> 00:35:49,490 >> JASON Hirschhorn: Manau, tu teisus. 639 00:35:49,490 --> 00:35:56,270 Keiskime jį į int pagrindines, atviras paren, int argc, kablelis, char * argv? 640 00:35:56,270 --> 00:35:57,150 Kaip tai? 641 00:35:57,150 --> 00:35:57,410 >> STUDENTŲ 18: Kilpos. 642 00:35:57,410 --> 00:35:58,260 >> JASON Hirschhorn: Kilpos. 643 00:35:58,260 --> 00:35:59,860 Atidaryti laikiklis, skliaustai uždaromi, arti tėvų. 644 00:35:59,860 --> 00:36:00,240 Tobula. 645 00:36:00,240 --> 00:36:02,160 Dabar galiu imtis komandinės eilutės argumentai. 646 00:36:02,160 --> 00:36:02,430 Gerai. 647 00:36:02,430 --> 00:36:04,250 Užtikrinti mes skirti du failus. 648 00:36:04,250 --> 00:36:07,905 Jūs galite duoti man, kad taip pat. 649 00:36:07,905 --> 00:36:09,180 >> STUDENTŲ 18: Jei argc - 650 00:36:09,180 --> 00:36:11,060 tai vienas nėra lygi 3. 651 00:36:11,060 --> 00:36:14,360 >> JASON Hirschhorn: Jei atidaryti skliaustas argc nėra lygūs 3? 652 00:36:14,360 --> 00:36:16,970 >> STUDENTŲ 18: Taip, jūs grįšite 1 arba nieko. 653 00:36:16,970 --> 00:36:17,460 >> JASON Hirschhorn: Atsiprašome. 654 00:36:17,460 --> 00:36:19,120 >> STUDENTŲ 18: Grįžimas 1 arba nieko. 655 00:36:19,120 --> 00:36:20,270 >> JASON Hirschhorn: Atgal 1. 656 00:36:20,270 --> 00:36:22,230 Gerai? 657 00:36:22,230 --> 00:36:22,970 Didysis. 658 00:36:22,970 --> 00:36:24,290 Atidarykite abu failus. 659 00:36:24,290 --> 00:36:26,160 Kas gali man padėti atidaryti abu failus? 660 00:36:26,160 --> 00:36:28,125 Kas nedavė man kodą dar? 661 00:36:28,125 --> 00:36:31,510 662 00:36:31,510 --> 00:36:32,320 Kurt? 663 00:36:32,320 --> 00:36:36,145 >> KURT: Taigi visi dangteliai F I L-E žvaigždė kodo. 664 00:36:36,145 --> 00:36:39,390 665 00:36:39,390 --> 00:36:40,920 >> JASON Hirschhorn: Aš ruošiuosi imti balses. 666 00:36:40,920 --> 00:36:41,570 Tai yra kietas. 667 00:36:41,570 --> 00:36:42,716 Tai kaip Tumblr. 668 00:36:42,716 --> 00:36:44,610 >> STUDENTŲ 18: Lygu fopen - 669 00:36:44,610 --> 00:36:46,612 >> JASON Hirschhorn: Lygu fopen? 670 00:36:46,612 --> 00:36:49,870 >> STUDENTŲ 18: Atidaryti skliaustas, argv, skliaustai atidaromi. 671 00:36:49,870 --> 00:36:50,055 >> JASON Hirschhorn: palaukti. 672 00:36:50,055 --> 00:36:50,240 Atsiprašau. 673 00:36:50,240 --> 00:36:51,050 Atidaryti skliaustas. 674 00:36:51,050 --> 00:36:51,456 Gerai. 675 00:36:51,456 --> 00:36:53,080 >> STUDENTŲ 18: Taip. 676 00:36:53,080 --> 00:36:55,110 Argv sub 1. 677 00:36:55,110 --> 00:36:55,860 >> JASON Hirschhorn: Sub "1? 678 00:36:55,860 --> 00:36:56,140 >> STUDENTŲ 18: Taip. 679 00:36:56,140 --> 00:36:58,540 Argv skliaustai atidaromi 1 - 680 00:36:58,540 --> 00:36:59,730 Taip. 681 00:36:59,730 --> 00:37:06,470 Ir tada kablelis, ir tada atidaryti dukart citata, r, dvigubos kabutės, 682 00:37:06,470 --> 00:37:08,250 artimi skliaustas, kabliataškis. 683 00:37:08,250 --> 00:37:09,450 >> JASON Hirschhorn: Sweet. 684 00:37:09,450 --> 00:37:10,950 O ką apie kitur? 685 00:37:10,950 --> 00:37:16,030 >> STUDENTŲ 18: Labai panaši, bet vietoj S-R-C, jūs jį vadiname D-S-P. 686 00:37:16,030 --> 00:37:17,060 >> JASON Hirschhorn: Oo! 687 00:37:17,060 --> 00:37:17,772 Man patinka, kad. 688 00:37:17,772 --> 00:37:20,010 >> STUDENTŲ 18: Tiesiog D-S-P. Taip. 689 00:37:20,010 --> 00:37:23,057 Ir tada argv, atvirą laikiklis, 2. 690 00:37:23,057 --> 00:37:23,200 Taip. 691 00:37:23,200 --> 00:37:26,720 Ir tada w vietoj r. 692 00:37:26,720 --> 00:37:27,620 Taip. 693 00:37:27,620 --> 00:37:29,630 >> JASON Hirschhorn: Didysis. 694 00:37:29,630 --> 00:37:31,360 Kitas pora eilučių. 695 00:37:31,360 --> 00:37:34,040 Be to, jei kas nors turi ką pridėti prie linijos, kad mes padaryti, nedvejodami 696 00:37:34,040 --> 00:37:35,690 pridėti tų taip pat. 697 00:37:35,690 --> 00:37:37,520 Įsitikinkite, nei yra NULL. 698 00:37:37,520 --> 00:37:41,450 Kas gali duoti man kodą man reikia patenkinti, kad Pseudocode linija? 699 00:37:41,450 --> 00:37:44,430 700 00:37:44,430 --> 00:37:45,870 Lankininkas. 701 00:37:45,870 --> 00:37:58,645 >> ARCHER: Jei src lygu lygu NULL arba DST lygu lygu 702 00:37:58,645 --> 00:38:04,590 NULL, tada grįžti - 703 00:38:04,590 --> 00:38:07,130 704 00:38:07,130 --> 00:38:07,976 >> JASON Hirschhorn: Kas? 705 00:38:07,976 --> 00:38:08,890 >> ARCHER: Grįžimas 2? 706 00:38:08,890 --> 00:38:09,760 >> JASON Hirschhorn: Grįžimas 2. 707 00:38:09,760 --> 00:38:14,400 Taigi, jei atviras skliaustas src Lygu Lygu NULL, arba - 708 00:38:14,400 --> 00:38:15,590 kad ir ką thing's - vamzdis? 709 00:38:15,590 --> 00:38:16,346 Vamzdis? 710 00:38:16,346 --> 00:38:17,140 Mes jį vadiname vamzdis. 711 00:38:17,140 --> 00:38:22,340 Vamzdis, vamzdžiai, dst lygu lygu NULL, grąžina 2. 712 00:38:22,340 --> 00:38:23,900 Gerai? 713 00:38:23,900 --> 00:38:26,060 Kol mes iš baitų - 714 00:38:26,060 --> 00:38:29,820 mes tarsi praleista daugiau šio žingsnio nuo Pseudocode dalis eiti į čia. 715 00:38:29,820 --> 00:38:31,970 >> Bet kol mes iš baitų - Ką tai skamba? 716 00:38:31,970 --> 00:38:34,680 Kokios C struktūros - 717 00:38:34,680 --> 00:38:36,160 bet aš ne naudoti žodį struktūrą, nes mes ketiname pradėti naudoti 718 00:38:36,160 --> 00:38:37,350 kad kitais atvejais - 719 00:38:37,350 --> 00:38:39,495 bet C priemonė daro, kad skamba? 720 00:38:39,495 --> 00:38:39,970 >> STUDENTŲ 19: kilpa. 721 00:38:39,970 --> 00:38:40,980 >> JASON Hirschhorn: kilpa. 722 00:38:40,980 --> 00:38:43,060 Panašiai skambanti kilpa. 723 00:38:43,060 --> 00:38:49,670 Taigi, kas gali duoti man pirmą eilutę iš kilpos kodą čia? 724 00:38:49,670 --> 00:38:56,320 725 00:38:56,320 --> 00:39:01,980 Taip pat galite pasirinkti, kokios kilpa norite, jei jūs suteikiate man 726 00:39:01,980 --> 00:39:03,215 tai kodo eilutę. 727 00:39:03,215 --> 00:39:04,150 Yra trijų rūšių. 728 00:39:04,150 --> 00:39:06,530 Jūs gaunate pasirinkti. 729 00:39:06,530 --> 00:39:08,080 Siūlyčiau vieną iš jų. 730 00:39:08,080 --> 00:39:08,410 Avi. 731 00:39:08,410 --> 00:39:09,230 Kuris jums reikia? 732 00:39:09,230 --> 00:39:09,960 >> AVI: UŽ. 733 00:39:09,960 --> 00:39:11,460 >> JASON Hirschhorn: UŽ. 734 00:39:11,460 --> 00:39:15,180 >> AVI: int i lygi nuliui. 735 00:39:15,180 --> 00:39:17,360 >> JASON Hirschhorn: Gerai. 736 00:39:17,360 --> 00:39:18,570 >> AVI: Ši dalis Nesu tikras apie. 737 00:39:18,570 --> 00:39:29,080 Bet aš mažiau nei jų dydis star šaltinio? 738 00:39:29,080 --> 00:39:31,128 Aš nesu įsitikinęs, kad. 739 00:39:31,128 --> 00:39:32,580 >> JASON Hirschhorn: Gerai. 740 00:39:32,580 --> 00:39:35,870 >> AVI: Kadangi jūs norite dydis failo, tiesa? 741 00:39:35,870 --> 00:39:41,090 >> JASON Hirschhorn: Taigi tai tikriausiai nebus suteikia mums faktinis dydis 742 00:39:41,090 --> 00:39:43,010 failą baitais. 743 00:39:43,010 --> 00:39:47,680 Taigi, ką dar galėtume padaryti? 744 00:39:47,680 --> 00:39:48,810 Kas yra kita kilpa tipas? 745 00:39:48,810 --> 00:39:50,180 Arba mes turėtume klijuoti su už linijos? 746 00:39:50,180 --> 00:39:55,350 747 00:39:55,350 --> 00:39:57,900 >> STUDENTŲ 20: Ar jūs darote, o kilpa? 748 00:39:57,900 --> 00:40:01,350 Ir tada, ką norite padaryti, tai you'd - 749 00:40:01,350 --> 00:40:03,930 nes mes turime char * failo. 750 00:40:03,930 --> 00:40:07,950 Taigi, jei mes tiesiog laikyti incrementing kad kol mes norime rasti NULL simbolį 751 00:40:07,950 --> 00:40:08,500 jo pabaigos? 752 00:40:08,500 --> 00:40:11,130 Ar ne, kad ne kaip bylos veikia? 753 00:40:11,130 --> 00:40:14,300 >> JASON Hirschhorn: Taigi, mes galime išlaikyti incrementing char * 754 00:40:14,300 --> 00:40:16,340 kol randame NULL - 755 00:40:16,340 --> 00:40:18,580 >> STUDENTŲ 20: Iš esmės nesustoti požymis charakterio kol mes hit 756 00:40:18,580 --> 00:40:21,250 failo pabaigos. 757 00:40:21,250 --> 00:40:21,600 >> JASON Hirschhorn: Taip. 758 00:40:21,600 --> 00:40:22,560 Štai ką mes norime daryti. 759 00:40:22,560 --> 00:40:24,545 Norime, kad skaitymo, charakterį pagal charakterį, kol mes gauti 760 00:40:24,545 --> 00:40:25,080 failo pabaigos. 761 00:40:25,080 --> 00:40:25,375 >> STUDENTŲ 20: Taip. 762 00:40:25,375 --> 00:40:25,860 Ieškoti - 763 00:40:25,860 --> 00:40:28,540 kas baigiasi arba baigti ženklas ne iš tekstinio failo pabaigoje. 764 00:40:28,540 --> 00:40:28,620 >> JASON Hirschhorn: Gerai. 765 00:40:28,620 --> 00:40:30,140 Taigi, kai mes gauti į failo pabaigą - kaip mes žinome, mes pasiekėme 766 00:40:30,140 --> 00:40:33,200 failo pabaiga? 767 00:40:33,200 --> 00:40:34,710 Jei aš skambina - 768 00:40:34,710 --> 00:40:35,910 todėl galime atsitraukti. 769 00:40:35,910 --> 00:40:37,550 Kas yra funkcija? 770 00:40:37,550 --> 00:40:39,360 Vykime į šią eilutę čia. 771 00:40:39,360 --> 00:40:40,630 Skaityti iš šaltinio failo. 772 00:40:40,630 --> 00:40:41,880 Kas gali man duoti, kad kodo eilutę? 773 00:40:41,880 --> 00:40:45,592 774 00:40:45,592 --> 00:40:47,590 >> STUDENTŲ 21: Fscanf? 775 00:40:47,590 --> 00:40:49,110 >> JASON Hirschhorn: Fscanf. 776 00:40:49,110 --> 00:40:49,510 Gerai. 777 00:40:49,510 --> 00:40:52,240 Ką daryti, jei noriu skaityti, labai Tiksliau, vienas baitas? 778 00:40:52,240 --> 00:40:55,012 779 00:40:55,012 --> 00:40:56,860 >> STUDENTŲ 21: Nežinau. 780 00:40:56,860 --> 00:40:57,110 >> JASON Hirschhorn: Gerai. 781 00:40:57,110 --> 00:40:59,380 Net paprastesnis nei fscanf - kas yra - 782 00:40:59,380 --> 00:41:01,890 Noriu skaityti iš šaltinio failo? 783 00:41:01,890 --> 00:41:03,720 Skaityti iš šaltinio failo. 784 00:41:03,720 --> 00:41:04,850 Kas yra funkcija - taip. 785 00:41:04,850 --> 00:41:05,380 >> STUDENTŲ 22: Tai fread? 786 00:41:05,380 --> 00:41:06,070 >> JASON Hirschhorn: fread. 787 00:41:06,070 --> 00:41:07,550 Manau, galime klijuoti su kad vienas dabar. 788 00:41:07,550 --> 00:41:10,380 789 00:41:10,380 --> 00:41:13,650 Kokios argumentų nėra fread imtis? 790 00:41:13,650 --> 00:41:17,410 >> STUDENTŲ 22: Tikriausiai failo tipas, ir tada vieta faile? 791 00:41:17,410 --> 00:41:19,550 >> JASON Hirschhorn: Ką aš galiu įvesti čia išsiaiškinti, kokio tipo argumentai 792 00:41:19,550 --> 00:41:20,950 fread trunka? 793 00:41:20,950 --> 00:41:23,710 >> KELI STUDENTAI: Vyras fread. 794 00:41:23,710 --> 00:41:24,740 >> JASON Hirschhorn: Vyras fread ir fwrite. 795 00:41:24,740 --> 00:41:25,980 Atrodo, kad jie pakabinti kartu. 796 00:41:25,980 --> 00:41:29,589 Taigi fread trunka kaip daug argumentų? 797 00:41:29,589 --> 00:41:30,920 >> STUDENTŲ 23: ​​keturi. 798 00:41:30,920 --> 00:41:32,690 >> JASON Hirschhorn: Ji mano keturis argumentus. 799 00:41:32,690 --> 00:41:41,100 Tai užtrunka žymeklį, dydį, ir kad dalykas, kuris yra keista, o kai byla. 800 00:41:41,100 --> 00:41:42,000 Gerai? 801 00:41:42,000 --> 00:41:43,990 Leiskite skaityti apie tai čia. 802 00:41:43,990 --> 00:41:49,370 "Funkcija fread skaito n memb elementai duomenimis, kiekvienas dydis baitų 803 00:41:49,370 --> 00:41:53,840 ilgio, nuo upelio, į kurį nurodo transliuoti, saugoti juos į vietą 804 00:41:53,840 --> 00:41:56,170 suteiktas žymeklis. " 805 00:41:56,170 --> 00:41:57,960 >> Taigi keturis argumentus. 806 00:41:57,960 --> 00:42:04,510 Kodėl ne aš tiesiog nukopijuokite šį, ir įklijuokite jį čia. 807 00:42:04,510 --> 00:42:10,060 808 00:42:10,060 --> 00:42:10,770 Gerai. 809 00:42:10,770 --> 00:42:13,673 Taigi, kas gali pradėti pildyti šie man argumentai? 810 00:42:13,673 --> 00:42:15,840 Avi. 811 00:42:15,840 --> 00:42:17,720 >> AVI: Išimkite tuštumą. 812 00:42:17,720 --> 00:42:20,530 Įdėkite tik src. 813 00:42:20,530 --> 00:42:23,142 Išimkite žymeklį ir žvaigždė. 814 00:42:23,142 --> 00:42:26,102 Įdėk src. 815 00:42:26,102 --> 00:42:27,050 Tada - 816 00:42:27,050 --> 00:42:28,500 >> JASON Hirschhorn: Taigi, aš ruošiuosi sustabdyti jūs ten, nes tai neteisinga. 817 00:42:28,500 --> 00:42:32,590 818 00:42:32,590 --> 00:42:34,710 Tu teisus su src, bet kur src turėtų eiti? 819 00:42:34,710 --> 00:42:35,960 >> [Tarpines BALSAI] 820 00:42:35,960 --> 00:42:38,976 821 00:42:38,976 --> 00:42:41,610 >> JASON Hirschhorn: jis turi eiti per čia. 822 00:42:41,610 --> 00:42:43,790 Štai src - mūsų src yra tipo. 823 00:42:43,790 --> 00:42:44,610 Pažvelkime čia. 824 00:42:44,610 --> 00:42:49,610 Tai klausia tipo FILE *, mes iš tikrųjų paprastai jie patinka. 825 00:42:49,610 --> 00:42:57,630 Taigi tai klausia dėl argumento failo tipo * vadinamas srautas, kurį src. 826 00:42:57,630 --> 00:42:58,480 Gerai? 827 00:42:58,480 --> 00:43:00,410 >> Kokio dydžio ką daryti norime skaityti? 828 00:43:00,410 --> 00:43:03,340 Aš jums davė tai problemos aprašą. 829 00:43:03,340 --> 00:43:04,370 >> STUDENTŲ 24: Vienas baitas metu. 830 00:43:04,370 --> 00:43:05,340 >> JASON Hirschhorn: Vienas baitas. 831 00:43:05,340 --> 00:43:08,205 Kaip didelis yra baitas? 832 00:43:08,205 --> 00:43:11,642 Jo dydis yra baitais, tai kas aš galiu įdėti tiesiai ten? 833 00:43:11,642 --> 00:43:12,910 >> STUDENTŲ 25: Vienas. 834 00:43:12,910 --> 00:43:14,730 >> JASON Hirschhorn: Vienas. 835 00:43:14,730 --> 00:43:17,020 Teisė. 836 00:43:17,020 --> 00:43:19,940 Jo dydis yra vieneto baito, taip 1 yra 1 baitas. 837 00:43:19,940 --> 00:43:22,284 Kiek aš noriu perskaityti vienu metu. 838 00:43:22,284 --> 00:43:23,520 >> STUDENTŲ 26: Vienas? 839 00:43:23,520 --> 00:43:24,270 >> JASON Hirschhorn: Vienas dalykas. 840 00:43:24,270 --> 00:43:28,540 Noriu skaityti vieno dalyko dydžio 1, viena Užkandote vienu metu. 841 00:43:28,540 --> 00:43:32,110 Ir kur aš jį, kai aš perskaičiau jį? 842 00:43:32,110 --> 00:43:35,050 843 00:43:35,050 --> 00:43:36,510 >> STUDENTŲ 27: Paskirtis? 844 00:43:36,510 --> 00:43:39,270 >> JASON Hirschhorn: Taigi aš negaliu įdėti tai tiesiai į paskirties vietą. 845 00:43:39,270 --> 00:43:40,800 >> STUDENTŲ 28: Jūs gonna įdėti tai į trečiąją rodyklė? 846 00:43:40,800 --> 00:43:41,780 >> STUDENTŲ 27: į paskirties vietą. 847 00:43:41,780 --> 00:43:42,270 >> JASON Hirschhorn: Gerai. 848 00:43:42,270 --> 00:43:42,630 Taip. 849 00:43:42,630 --> 00:43:46,820 >> STUDENTŲ 29: Galite paskelbti kažką veikti kaip laikinas saugojimas anksčiau. 850 00:43:46,820 --> 00:43:47,350 >> JASON Hirschhorn: Gerai. 851 00:43:47,350 --> 00:43:50,080 Duok man, kad. 852 00:43:50,080 --> 00:43:53,930 >> STUDENTŲ 29: Kitas failas žymeklis, gal? 853 00:43:53,930 --> 00:43:54,220 >> JASON Hirschhorn: Gerai. 854 00:43:54,220 --> 00:43:55,585 Taigi tai yra negaliojantis žvaigždė - 855 00:43:55,585 --> 00:43:57,750 tai tipo negaliojantis žvaigždė, todėl ji nėra turi būti failas rodyklę. 856 00:43:57,750 --> 00:44:02,520 O jei aš skaitau vieną baitą, kur būtų gera vieta 857 00:44:02,520 --> 00:44:03,850 saugoti vieną baitą? 858 00:44:03,850 --> 00:44:04,660 >> STUDENTŲ 29: masyvas? 859 00:44:04,660 --> 00:44:05,770 >> JASON Hirschhorn: masyvo. 860 00:44:05,770 --> 00:44:07,730 Gerai. 861 00:44:07,730 --> 00:44:14,040 Ir ką dar yra kažkas, kad yra tik dydis vienas baitas? 862 00:44:14,040 --> 00:44:16,980 863 00:44:16,980 --> 00:44:18,060 >> STUDENTŲ 30: char *? 864 00:44:18,060 --> 00:44:18,530 >> STUDENTŲ 29: Taip. 865 00:44:18,530 --> 00:44:19,880 >> JASON Hirschhorn: char * nėra vienas baitas. 866 00:44:19,880 --> 00:44:20,440 >> STUDENTŲ 29: char. 867 00:44:20,440 --> 00:44:21,810 >> JASON Hirschhorn: char yra vienas baitas. 868 00:44:21,810 --> 00:44:22,920 Teisė? 869 00:44:22,920 --> 00:44:26,740 Taigi galime vadinti šią buferis yra bendrinis pavadinimas naudojamas šių dalykų saugoti 870 00:44:26,740 --> 00:44:27,910 kažkas laikinai. 871 00:44:27,910 --> 00:44:30,880 Taigi sukurti buferį. 872 00:44:30,880 --> 00:44:31,150 Teisė? 873 00:44:31,150 --> 00:44:32,990 Bet tai atsižvelgti tuštumą *. 874 00:44:32,990 --> 00:44:38,660 Tai gal tu teisus, kad ji turėtų būti dydžio 0 buferis. 875 00:44:38,660 --> 00:44:41,070 Taigi ji saugo vieną - 876 00:44:41,070 --> 00:44:41,280 teisus. 877 00:44:41,280 --> 00:44:43,560 >> Kadangi tai čia - char buferis yra simbolių, tačiau 878 00:44:43,560 --> 00:44:45,110 tai užtrunka tuštumą * - 879 00:44:45,110 --> 00:44:45,870 rodyklė. 880 00:44:45,870 --> 00:44:50,640 Taigi, aš tai galėtų padaryti ir dabar buferis yra žymeklis. 881 00:44:50,640 --> 00:44:53,214 Ką dar galėčiau padaryti? 882 00:44:53,214 --> 00:44:55,775 >> STUDENTŲ 31: Įdėkite žvaigždę kitą char. 883 00:44:55,775 --> 00:44:58,380 >> JASON Hirschhorn: galėčiau sukūrė jis char *. 884 00:44:58,380 --> 00:45:00,216 Gerai. 885 00:45:00,216 --> 00:45:03,131 Kas kitas dalykas, aš galėtų padaryti? 886 00:45:03,131 --> 00:45:04,050 Arba einam su šiuo vienu. 887 00:45:04,050 --> 00:45:05,740 Char * buferis, tai kas aš įdėti čia? 888 00:45:05,740 --> 00:45:08,290 889 00:45:08,290 --> 00:45:09,310 >> STUDENTŲ 31: buferio. 890 00:45:09,310 --> 00:45:10,560 >> JASON Hirschhorn: buferio. 891 00:45:10,560 --> 00:45:12,640 892 00:45:12,640 --> 00:45:14,500 Buferis yra rodyklė į char. 893 00:45:14,500 --> 00:45:19,480 Ir toje vietoje, mes dedame vienas baitas kažką mes skaityti. 894 00:45:19,480 --> 00:45:19,980 Taip. 895 00:45:19,980 --> 00:45:20,700 Avi. 896 00:45:20,700 --> 00:45:21,230 >> AVI: Tiesiog greitas klausimas. 897 00:45:21,230 --> 00:45:24,440 Norite malloc buferio? 898 00:45:24,440 --> 00:45:25,930 >> JASON Hirschhorn: kas gali atsakyti į šį klausimą? 899 00:45:25,930 --> 00:45:30,210 >> STUDENTŲ 32: Na, ji tikrai ne taškas nieko dabar, todėl - 900 00:45:30,210 --> 00:45:32,610 >> JASON Hirschhorn: Bet padaryti norime malloc jį? 901 00:45:32,610 --> 00:45:35,600 >> STUDENTŲ 32: Jei buvo tai padaryti, kad būdas, manau, taip, nes jums reikia 902 00:45:35,600 --> 00:45:36,990 kai vieta, kad ji rodo. 903 00:45:36,990 --> 00:45:38,350 >> JASON Hirschhorn: Ar mes turi malloc jį? 904 00:45:38,350 --> 00:45:40,580 >> STUDENTŲ 33: Jei jūs ketinate naudoti jį už kilpos. 905 00:45:40,580 --> 00:45:42,524 >> JASON Hirschhorn: Ar mes ketiname naudoti jį ne kilpos? 906 00:45:42,524 --> 00:45:44,392 >> STUDENTŲ 34: Taip. 907 00:45:44,392 --> 00:45:44,860 >> STUDENTŲ 35: palaukti. 908 00:45:44,860 --> 00:45:46,980 Ar norime paskelbti jį ir į anapus linijos? 909 00:45:46,980 --> 00:45:50,100 >> JASON Hirschhorn: Taigi, aš manau, kad mes turime kai pseudo while cikle, kad čia mes 910 00:45:50,100 --> 00:45:51,950 bando išsiaiškinti, kad mes ne Dotarłeś dar. 911 00:45:51,950 --> 00:45:54,710 912 00:45:54,710 --> 00:45:56,010 Mums nereikia, kad malloc jį. 913 00:45:56,010 --> 00:45:59,310 Mes veikia pagrindinis, tai tik ketina turi būti naudojamas viduje šis kilpą. 914 00:45:59,310 --> 00:46:00,540 Ji nebūtinai turi egzistuoti už tai. 915 00:46:00,540 --> 00:46:02,340 >> Taigi, tai gali būti vietinis kintamasis. 916 00:46:02,340 --> 00:46:03,925 Turite rodyklę į vietos kintamąjį. 917 00:46:03,925 --> 00:46:07,984 918 00:46:07,984 --> 00:46:09,590 >> STUDENTŲ 36: Bet tai ne nukreipta į ką nors. 919 00:46:09,590 --> 00:46:11,540 >> JASON Hirschhorn: Ne, tai ne inicializuoti nieko. 920 00:46:11,540 --> 00:46:12,790 Tačiau mes neketiname naudoti jį taip pat. 921 00:46:12,790 --> 00:46:15,300 Mes ketiname įdėti kažką tai pirmas kartas, mes ją naudojame. 922 00:46:15,300 --> 00:46:16,580 Taigi, kad atrodo gerai. 923 00:46:16,580 --> 00:46:17,780 Taigi mums nereikia malloc čia. 924 00:46:17,780 --> 00:46:19,360 Ir aš manau, kad viskas gerai, kaip yra. 925 00:46:19,360 --> 00:46:24,350 926 00:46:24,350 --> 00:46:25,790 Gerai. 927 00:46:25,790 --> 00:46:27,190 Mes turime fread liniją. 928 00:46:27,190 --> 00:46:28,490 Darykime kitą liniją. 929 00:46:28,490 --> 00:46:32,984 >> Jei norime rašyti į failą, kas yra gera funkcija naudotis, kaip tai padaryti? 930 00:46:32,984 --> 00:46:33,770 >> STUDENTŲ 37: fwrite? 931 00:46:33,770 --> 00:46:35,140 >> STUDENTŲ 38: fprintf? 932 00:46:35,140 --> 00:46:36,010 >> JASON Hirschhorn: fprintf yra vienas. 933 00:46:36,010 --> 00:46:37,260 Kas dar viena? 934 00:46:37,260 --> 00:46:37,680 >> STUDENTŲ 39: fwrite. 935 00:46:37,680 --> 00:46:38,510 >> JASON Hirschhorn: fwrite. 936 00:46:38,510 --> 00:46:41,250 Ir mūsų tikslais, fwrite, kurį matėme čia yra 937 00:46:41,250 --> 00:46:42,500 turbūt geresnis pasirinkimas. 938 00:46:42,500 --> 00:46:51,970 939 00:46:51,970 --> 00:46:53,950 Tai užtrunka keturis argumentus, taip pat. 940 00:46:53,950 --> 00:46:57,570 Nishant, galite duoti Man argumentai? 941 00:46:57,570 --> 00:47:00,570 >> Nishant: pirmasis vyksta būti tik buferis. 942 00:47:00,570 --> 00:47:02,210 >> JASON Hirschhorn: Gerai. 943 00:47:02,210 --> 00:47:06,752 >> Nishant: antroji s tik bus 1. 944 00:47:06,752 --> 00:47:09,510 Trečias tai bus 1. 945 00:47:09,510 --> 00:47:11,470 Ir ketvirta bus dst. 946 00:47:11,470 --> 00:47:18,010 947 00:47:18,010 --> 00:47:19,550 >> JASON Hirschhorn: Ar kas nors turi kokių nors klausimų apie tos linijos? 948 00:47:19,550 --> 00:47:28,370 949 00:47:28,370 --> 00:47:29,130 Tai atrodo gerai. 950 00:47:29,130 --> 00:47:29,590 Gerai. 951 00:47:29,590 --> 00:47:34,250 Taigi, dabar atrodo, kad vienas dalykas, mes trūksta - iš tiesų, galime rašyti 952 00:47:34,250 --> 00:47:35,090 tai paskutinė eilutė. 953 00:47:35,090 --> 00:47:36,300 Uždaryti failus. 954 00:47:36,300 --> 00:47:38,880 Kas gali baigti mus raštu šios dvi paskutinės eilutės? 955 00:47:38,880 --> 00:47:39,120 Taip. 956 00:47:39,120 --> 00:47:39,850 Atsiprašome, koks tavo vardas? 957 00:47:39,850 --> 00:47:40,580 >> LUCY: Liusi. 958 00:47:40,580 --> 00:47:41,580 >> JASON Hirschhorn: Liusi. 959 00:47:41,580 --> 00:47:47,560 >> LUCY: fclose src ir tada fclose paskirties. 960 00:47:47,560 --> 00:47:52,430 >> JASON Hirschhorn: fclose, atviras skliaustas, src artimi skliaustas, kabliataškis. 961 00:47:52,430 --> 00:47:53,680 Ir fclose - 962 00:47:53,680 --> 00:47:57,560 963 00:47:57,560 --> 00:47:58,090 taip? 964 00:47:58,090 --> 00:48:01,710 >> LUCY: Atidaryti skliaustelius, dst ir tada kabliataškiu. 965 00:48:01,710 --> 00:48:02,520 >> JASON Hirschhorn: Didysis. 966 00:48:02,520 --> 00:48:04,338 Ir ką aš turėčiau įtraukti pabaigoje? 967 00:48:04,338 --> 00:48:05,210 >> LUCY: Grįžti 0. 968 00:48:05,210 --> 00:48:05,570 >> JASON Hirschhorn: Grįžti 0. 969 00:48:05,570 --> 00:48:06,820 Ar aš turiu? 970 00:48:06,820 --> 00:48:10,560 971 00:48:10,560 --> 00:48:12,590 Tiesiog klausimas. 972 00:48:12,590 --> 00:48:14,957 Ar mes turime įtraukti grąžą 0? 973 00:48:14,957 --> 00:48:16,240 >> KELI STUDENTAI: Ne 974 00:48:16,240 --> 00:48:16,430 >> JASON Hirschhorn: Ne 975 00:48:16,430 --> 00:48:18,090 Pagrindinis daro automatiškai jei jūs gaunate prie pabaigos. 976 00:48:18,090 --> 00:48:20,580 Bet manau, kad tai malonu įtraukti jį aiškiai. 977 00:48:20,580 --> 00:48:23,860 Ypač tada, kai mes grįžti kitą dalykų programos metu. 978 00:48:23,860 --> 00:48:24,810 Gerai. 979 00:48:24,810 --> 00:48:26,230 Tai, ką mes trūkstamus - 980 00:48:26,230 --> 00:48:28,520 KOL ką? 981 00:48:28,520 --> 00:48:31,630 Kas galite galvoti apie kai - 982 00:48:31,630 --> 00:48:35,240 turi tam tikrą prasmę, kas ką gali ten eiti? 983 00:48:35,240 --> 00:48:37,350 Net jei tai tik kai Pseudocode kaip kalba? 984 00:48:37,350 --> 00:48:41,330 >> Ką mes tikrai - kas mes norime eiti, kol? 985 00:48:41,330 --> 00:48:41,980 Taip, Liusi. 986 00:48:41,980 --> 00:48:43,240 >> LUCY: Bylos pabaigos. 987 00:48:43,240 --> 00:48:44,990 >> JASON Hirschhorn: Bylos pabaigos. 988 00:48:44,990 --> 00:48:49,280 Taigi, ką jūs laikote pabaigoje failą? 989 00:48:49,280 --> 00:48:50,955 >> LUCY: Kai pasieksite failo pabaiga, sustoti. 990 00:48:50,955 --> 00:48:51,240 >> JASON Hirschhorn: Gerai. 991 00:48:51,240 --> 00:48:53,460 Taigi, kai mes pasiekti failo pabaigą. 992 00:48:53,460 --> 00:48:56,893 Kaip mes žinome, kai mes pasiekėme failo pabaiga? 993 00:48:56,893 --> 00:48:59,900 >> STUDENTŲ 40: Manau, buferio bus nustatytas nulis. 994 00:48:59,900 --> 00:49:01,885 >> STUDENTŲ 41: buferio deklaruojama viduje linijos. 995 00:49:01,885 --> 00:49:03,670 >> JASON Hirschhorn: Taigi jūs manote, buferis bus nustatytas nulis. 996 00:49:03,670 --> 00:49:05,850 Kodėl buferio būti nustatytas nulis? 997 00:49:05,850 --> 00:49:10,420 >> STUDENTŲ 40: Nes kai jūs fread, bandote įdėti 998 00:49:10,420 --> 00:49:13,528 nieko į buferį. 999 00:49:13,528 --> 00:49:13,980 >> JASON Hirschhorn: Gerai. 1000 00:49:13,980 --> 00:49:15,550 Taigi jūs dabar galvoju fread - 1001 00:49:15,550 --> 00:49:19,000 kai mes pasiekė pabaigos failas, kas fread ketinate daryti? 1002 00:49:19,000 --> 00:49:21,230 Manau, kad klausimas mes turime išsiaiškinti. 1003 00:49:21,230 --> 00:49:21,960 Ką fread daryti? 1004 00:49:21,960 --> 00:49:25,640 Ar įdėti NULL buferyje, arba tai daryti ką nors kita? 1005 00:49:25,640 --> 00:49:27,510 Kaip mes galime išsiaiškinti, kas ji? 1006 00:49:27,510 --> 00:49:28,190 >> STUDENTŲ 42: Vyras. 1007 00:49:28,190 --> 00:49:28,810 >> JASON Hirschhorn: Vyras. 1008 00:49:28,810 --> 00:49:32,280 Taigi pažvelkime čia. 1009 00:49:32,280 --> 00:49:34,000 Grįžti vertę. 1010 00:49:34,000 --> 00:49:39,620 Nuo sėkmės, fread ir fwrite grįžti Prekių skaičius skaityti ar rašytines kalbas. 1011 00:49:39,620 --> 00:49:43,700 Šis skaičius prilygsta baitų skaičių perduodami tik, kai dydis yra 1. 1012 00:49:43,700 --> 00:49:47,780 Jei įvyksta klaida, arba pabaiga failas yra pasiektas, grąžina vertė yra 1013 00:49:47,780 --> 00:49:51,490 trumpas klausimas skaičius arba 0. 1014 00:49:51,490 --> 00:49:57,860 >> Taigi mūsų tikslais, jei fread pasiekia failo pabaiga, ir skaito iš 1015 00:49:57,860 --> 00:50:02,100 Bylos pabaigos, nėra nieko paliko skaityti, kas tai ketina grįžti? 1016 00:50:02,100 --> 00:50:03,290 >> STUDENTŲ 43: nulis? 1017 00:50:03,290 --> 00:50:04,540 >> JASON Hirschhorn: Kas? 1018 00:50:04,540 --> 00:50:05,300 >> STUDENTŲ 43: nulis? 1019 00:50:05,300 --> 00:50:05,690 >> JASON Hirschhorn: nulis. 1020 00:50:05,690 --> 00:50:06,940 Ji ketina grįžti prie nulio. 1021 00:50:06,940 --> 00:50:09,360 1022 00:50:09,360 --> 00:50:13,010 Taigi mes žinome, kad fread, kai mes pasiekė failo pabaigą, vyksta 1023 00:50:13,010 --> 00:50:13,690 grįžti prie nulio. 1024 00:50:13,690 --> 00:50:17,460 Kaip mes galime naudoti, kad savo pranašumą? 1025 00:50:17,460 --> 00:50:21,733 >> AVI: Galite paskelbti kintamąjį už kilpos, vadinamą patikra. 1026 00:50:21,733 --> 00:50:27,040 Jei patikrinimas Lygu - 1027 00:50:27,040 --> 00:50:28,190 dabar - viena. 1028 00:50:28,190 --> 00:50:28,920 >> JASON Hirschhorn: Gerai. 1029 00:50:28,920 --> 00:50:38,050 >> AVI: Ir tada jūs galite įdėti IF pareiškimą iš karto po fread sakydamas, jei 1030 00:50:38,050 --> 00:50:42,600 fread lygus nuliui - 1031 00:50:42,600 --> 00:50:43,850 ne. 1032 00:50:43,850 --> 00:50:46,002 1033 00:50:46,002 --> 00:50:47,252 >> JASON Hirschhorn: Kas gali padėti AVI iš kitų? 1034 00:50:47,252 --> 00:50:49,690 1035 00:50:49,690 --> 00:50:52,410 >> AVI: Kas vertė grąžinti fread? 1036 00:50:52,410 --> 00:50:54,060 >> JASON Hirschhorn: Mes tiesiog nuėjau, kad. 1037 00:50:54,060 --> 00:50:55,450 >> AVI: Kaip jūs jai atstovauti? 1038 00:50:55,450 --> 00:50:57,190 >> JASON Hirschhorn: Taigi jis grįžta - tegul ieškoti čia - ji grąžina 1039 00:50:57,190 --> 00:50:59,340 size_t, kuri iš esmės yra sveikasis skaičius. 1040 00:50:59,340 --> 00:51:02,240 1041 00:51:02,240 --> 00:51:03,410 Taigi ji grąžina sveikąjį skaičių. 1042 00:51:03,410 --> 00:51:05,160 Ir mūsų atveju, tai bus grįžti 1 arba 0 - 1043 00:51:05,160 --> 00:51:08,760 1, jei jis perskaitė vieną dalyką - vienas baitas, ir 0, jei mes pasiekė pabaigos. 1044 00:51:08,760 --> 00:51:13,560 1045 00:51:13,560 --> 00:51:16,450 Taigi, jei fread - 1046 00:51:16,450 --> 00:51:16,855 taip? 1047 00:51:16,855 --> 00:51:20,330 >> STUDENTŲ 45: Ar ne jūs tiesiog įdėti visą fread (buferis, 1, 1, src) į 1048 00:51:20,330 --> 00:51:21,660 o kilpa? 1049 00:51:21,660 --> 00:51:26,510 >> JASON Hirschhorn: Taigi jūs siūlote daro į ten tai? 1050 00:51:26,510 --> 00:51:27,600 >> [Tarpines BALSAI] 1051 00:51:27,600 --> 00:51:29,520 >> JASON Hirschhorn: Palauk. 1052 00:51:29,520 --> 00:51:30,885 Taigi mes atsikratyti, kad. 1053 00:51:30,885 --> 00:51:33,300 Taigi jūs siūlo pradėti į ten fread? 1054 00:51:33,300 --> 00:51:35,457 Ką turėtume taip pat perkelti Jei norite padaryti, kad? 1055 00:51:35,457 --> 00:51:36,740 >> STUDENTŲ 45: buferio ribų. 1056 00:51:36,740 --> 00:51:38,110 >> JASON Hirschhorn: turėtume taip pat perkelti jį iš čia. 1057 00:51:38,110 --> 00:51:41,700 >> STUDENTŲ 45: Bet tai daro nuolat perkelti jį į priekį? 1058 00:51:41,700 --> 00:51:42,950 >> [Tarpines BALSAI] 1059 00:51:42,950 --> 00:51:46,540 1060 00:51:46,540 --> 00:51:47,470 >> JASON Hirschhorn: Gerai. 1061 00:51:47,470 --> 00:51:50,570 Taigi tai, ką pasiūlė Okshar. 1062 00:51:50,570 --> 00:51:51,930 Mes sukursime savo buferio. 1063 00:51:51,930 --> 00:51:57,020 Mes KOL fread, tada mes fwrite. 1064 00:51:57,020 --> 00:51:59,760 Mintys apie tai? 1065 00:51:59,760 --> 00:52:04,050 >> STUDENTŲ 46: Mano vienintelis klausimas yra, būtų ji iš tikrųjų vykdyti komandų fread? 1066 00:52:04,050 --> 00:52:06,175 >> JASON Hirschhorn: Didysis klausimas. 1067 00:52:06,175 --> 00:52:11,050 Kai jūs išleisti skambinimo funkcijos viduje sąlyga, ar tai 1068 00:52:11,050 --> 00:52:12,300 skambinimo funkcijos vykdyti? 1069 00:52:12,300 --> 00:52:15,760 1070 00:52:15,760 --> 00:52:17,770 Mes matėme pavyzdžių anksčiau. 1071 00:52:17,770 --> 00:52:24,900 1072 00:52:24,900 --> 00:52:25,660 Teisė? 1073 00:52:25,660 --> 00:52:26,125 >> STUDENTŲ 46: Gerai. 1074 00:52:26,125 --> 00:52:26,590 Taip. 1075 00:52:26,590 --> 00:52:30,140 Taigi ji vykdyti. 1076 00:52:30,140 --> 00:52:31,790 >> JASON Hirschhorn: Mes matėme dalykų , kaip kad anksčiau, kur mes turime 1077 00:52:31,790 --> 00:52:33,550 skambinimo funkcijos viduje būklės. 1078 00:52:33,550 --> 00:52:35,540 Ar tai skambinimo funkcijos vykdyti? 1079 00:52:35,540 --> 00:52:36,350 Taip. 1080 00:52:36,350 --> 00:52:37,410 Taigi, atsakymas yra "taip". 1081 00:52:37,410 --> 00:52:41,010 Ši funkcija skambutis bus įvykdyti. 1082 00:52:41,010 --> 00:52:42,418 Bet vėl, tai ko mes norime? 1083 00:52:42,418 --> 00:52:49,250 1084 00:52:49,250 --> 00:52:52,204 >> Kas yra vienas iš būdų mes galime išsiaiškinti , jei tai, ką mes norime? 1085 00:52:52,204 --> 00:52:53,470 >> KELI STUDENTAI: Paleiskite jį? 1086 00:52:53,470 --> 00:52:54,460 >> JASON Hirschhorn: Mes galime paleisti jį. 1087 00:52:54,460 --> 00:52:57,500 Tačiau prieš tai, kad mes galime taip pat samprotauti per šį. 1088 00:52:57,500 --> 00:52:57,920 Jei - 1089 00:52:57,920 --> 00:53:01,920 sako, mes turime vieną baitą mūsų failą, mes susisieksime čia 1090 00:53:01,920 --> 00:53:02,660 mes susisieksime su šiuo kodu. 1091 00:53:02,660 --> 00:53:03,620 Tai bus paleisti. 1092 00:53:03,620 --> 00:53:07,780 fread sugrįš vieną baitą ir laikyti jį į buferį. 1093 00:53:07,780 --> 00:53:11,290 Ir tai įvertins, 1, Gerai, kai jis grįžta 1. 1094 00:53:11,290 --> 00:53:12,640 >> Taigi, nors 1. 1095 00:53:12,640 --> 00:53:15,325 Ar tai reiškia, kad kodą viduje KOL kilpa atliks? 1096 00:53:15,325 --> 00:53:15,453 >> STUDENTŲ 47: Taip. 1097 00:53:15,453 --> 00:53:16,040 Tai tiesa. 1098 00:53:16,040 --> 00:53:16,290 >> JASON Hirschhorn: Taip. 1099 00:53:16,290 --> 00:53:17,490 1 tiesa. 1100 00:53:17,490 --> 00:53:18,240 Tai ne 0. 1101 00:53:18,240 --> 00:53:20,360 Taigi viduje čia kodas atliks. 1102 00:53:20,360 --> 00:53:22,300 Taigi, mes rašyti, kad. 1103 00:53:22,300 --> 00:53:25,340 Mes pereiti į šią linija dar kartą. 1104 00:53:25,340 --> 00:53:26,850 Dabar mes turime - 1105 00:53:26,850 --> 00:53:28,550 mes ne mūsų failo pabaigoje. 1106 00:53:28,550 --> 00:53:30,980 Mes skaityti iš mūsų failo pabaigoje, nes mes turėjo tik vieną baitą į jį. 1107 00:53:30,980 --> 00:53:34,270 >> Fread grąžina 0, parduotuvės kažkas buferio. 1108 00:53:34,270 --> 00:53:35,890 Aš sąžiningai nežinau, ką ji saugo buferyje. 1109 00:53:35,890 --> 00:53:38,380 Mes turbūt galėtų ieškoti pamatyti, ką ji daro. 1110 00:53:38,380 --> 00:53:40,130 Kad Aš sąžiningai nežinau. 1111 00:53:40,130 --> 00:53:43,090 Mes nežinome, kam rūpi, ką ji saugo buferyje? 1112 00:53:43,090 --> 00:53:44,010 Bet tai vėl 0. 1113 00:53:44,010 --> 00:53:45,440 Ir bus, o 0 įvykdyti? 1114 00:53:45,440 --> 00:53:49,950 1115 00:53:49,950 --> 00:53:51,180 >> KOL 0 nesielgsiu. 1116 00:53:51,180 --> 00:53:54,030 Taigi mes pereiti čia. 1117 00:53:54,030 --> 00:53:58,870 Taigi galime gauti rankos pakėlimu, jei tai yra kodas turėtume paleisti, arba jei 1118 00:53:58,870 --> 00:54:00,140 turėtų daryti pakeitimus pirmas. 1119 00:54:00,140 --> 00:54:02,180 Taigi, jei jūs manote - jūs turite balsuoti. 1120 00:54:02,180 --> 00:54:06,885 Jei manote, kad turėtume paleisti šį kodą kaip yra, prašome pakelti ranką. 1121 00:54:06,885 --> 00:54:12,440 1122 00:54:12,440 --> 00:54:13,400 >> Gerai. 1123 00:54:13,400 --> 00:54:14,315 Yra vienas - 1124 00:54:14,315 --> 00:54:17,260 Ar turite klausimų, rūpesčių? 1125 00:54:17,260 --> 00:54:18,080 Taip. 1126 00:54:18,080 --> 00:54:21,240 >> STUDENTŲ 48: Po judame buferį už kilpos, mes 1127 00:54:21,240 --> 00:54:22,670 turi malloc jį? 1128 00:54:22,670 --> 00:54:23,310 >> JASON Hirschhorn: Didysis klausimas. 1129 00:54:23,310 --> 00:54:26,670 Kai mes judėti buferio ribų kilpa, mes turime malloc jį? 1130 00:54:26,670 --> 00:54:28,400 Tai sritis klausimas. 1131 00:54:28,400 --> 00:54:32,130 Jei mes inicijuoti buferio ribų Šios linijos, ji egzistuoja 1132 00:54:32,130 --> 00:54:33,534 viduje kilpa? 1133 00:54:33,534 --> 00:54:35,230 >> KELI STUDENTAI: Taip. 1134 00:54:35,230 --> 00:54:35,580 >> JASON Hirschhorn: Taip. 1135 00:54:35,580 --> 00:54:40,100 Jo taikymo sritis apima viduje linijos, ir tikrai, kas toliau jį viduje 1136 00:54:40,100 --> 00:54:42,460 Šio kodekso, įskaitant viskas viduje čia. 1137 00:54:42,460 --> 00:54:43,930 Taigi, mes nereikia malloc jį. 1138 00:54:43,930 --> 00:54:47,766 Tai vietinis kintamasis ir jo taikymo sritis dar yra kilpa. 1139 00:54:47,766 --> 00:54:49,540 >> STUDENTŲ 49: Ar mums reikia išlaisvinti jį? 1140 00:54:49,540 --> 00:54:51,770 >> JASON Hirschhorn: Ar mes reikia laisvos buferio? 1141 00:54:51,770 --> 00:54:53,860 >> STUDENTŲ 49: Taip, jei mes ne malloc. 1142 00:54:53,860 --> 00:54:55,750 >> JASON Hirschhorn: Ar mes reikia laisvos buferio? 1143 00:54:55,750 --> 00:54:57,160 Mes ne. 1144 00:54:57,160 --> 00:55:01,280 Vėlgi, tai yra vietos kintamąjį, todėl nereikia atlaisvinti jį. 1145 00:55:01,280 --> 00:55:02,170 Gerai. 1146 00:55:02,170 --> 00:55:03,480 Pažiūrėkime, kas atsitiks. 1147 00:55:03,480 --> 00:55:17,290 1148 00:55:17,290 --> 00:55:18,220 Taigi tai yra niezainicjowanymi. 1149 00:55:18,220 --> 00:55:20,830 Kad buvo ką kažkas, kad Marcus siūloma anksčiau. 1150 00:55:20,830 --> 00:55:25,340 Taigi turime, kad klaidos, kintamo buferio yra niezainicjowanymi kai naudojamas čia. 1151 00:55:25,340 --> 00:55:26,590 >> Kaip mes galime išspręsti šią problemą? 1152 00:55:26,590 --> 00:55:29,460 1153 00:55:29,460 --> 00:55:30,960 >> STUDENTŲ 50: malloc jį? 1154 00:55:30,960 --> 00:55:31,770 >> STUDENTŲ 51: Lygu NULL? 1155 00:55:31,770 --> 00:55:33,000 >> STUDENTŲ 52: Pasakykite buferis Lygu NULL. 1156 00:55:33,000 --> 00:55:34,250 >> JASON Hirschhorn: Gerai. 1157 00:55:34,250 --> 00:55:40,040 1158 00:55:40,040 --> 00:55:40,770 Gerai atrodo. 1159 00:55:40,770 --> 00:55:42,410 Mes turime jį dabar. 1160 00:55:42,410 --> 00:55:45,630 Kurkime kažką bandyti kopijuoti. 1161 00:55:45,630 --> 00:56:08,990 1162 00:56:08,990 --> 00:56:10,490 Taigi, mes turime tekstinį failą. 1163 00:56:10,490 --> 00:56:11,740 Kaip mes galime paleisti šią programą? 1164 00:56:11,740 --> 00:56:14,140 1165 00:56:14,140 --> 00:56:15,472 Taip. 1166 00:56:15,472 --> 00:56:22,230 >> STUDENTŲ 53: Jūs galite padaryti tašką velniop CP test.txt. 1167 00:56:22,230 --> 00:56:25,140 Ir tada jūs galite pavadinti kitą failą kurioje bus saugomi į. 1168 00:56:25,140 --> 00:56:25,510 >> JASON Hirschhorn: Gerai. 1169 00:56:25,510 --> 00:56:27,380 Mes jį vadiname out.txt. 1170 00:56:27,380 --> 00:56:28,630 Kietas? 1171 00:56:28,630 --> 00:56:31,700 1172 00:56:31,700 --> 00:56:34,320 Seg kaltės. 1173 00:56:34,320 --> 00:56:35,570 Mintys apie seg kaltės? 1174 00:56:35,570 --> 00:56:40,900 1175 00:56:40,900 --> 00:56:41,390 Tai puiku. 1176 00:56:41,390 --> 00:56:45,040 Kaip mes galime išsiaiškinti, kur seg kaltė? 1177 00:56:45,040 --> 00:56:45,680 Ką? 1178 00:56:45,680 --> 00:56:45,990 >> STUDENTŲ 54: Gdb. 1179 00:56:45,990 --> 00:56:47,240 >> JASON Hirschhorn: Gdb. 1180 00:56:47,240 --> 00:56:51,400 1181 00:56:51,400 --> 00:56:55,300 Mes paleisti gdb rašyti gdb dot velniop, Mūsų programos pavadinimas. 1182 00:56:55,300 --> 00:56:57,020 Nėra komandinės eilutės argumentai ten. 1183 00:56:57,020 --> 00:56:59,570 Mes ketiname nustatyti ribinė vertė ne pagrindinis. 1184 00:56:59,570 --> 00:57:02,190 Jei aš noriu pradėti gdb, ką man daryti? 1185 00:57:02,190 --> 00:57:02,730 >> STUDENTŲ 55 R. 1186 00:57:02,730 --> 00:57:08,910 >> JASON Hirschhorn R. Ir kas tada? 1187 00:57:08,910 --> 00:57:09,400 >> STUDENTŲ 55: Argumentai? 1188 00:57:09,400 --> 00:57:10,650 >> JASON Hirschhorn: Tada komandinės eilutės argumentai. 1189 00:57:10,650 --> 00:57:15,890 1190 00:57:15,890 --> 00:57:17,120 Leiskite pasivaikščioti. 1191 00:57:17,120 --> 00:57:19,090 N tik atsižvelgiant man pagal kiekvieną eilutę. 1192 00:57:19,090 --> 00:57:21,450 Aš ruošiuosi eiti iki Aš gausiu SEG kaltės. 1193 00:57:21,450 --> 00:57:22,700 Yra mano seg kaltės. 1194 00:57:22,700 --> 00:57:24,960 1195 00:57:24,960 --> 00:57:27,875 Atrodo fread sukelia mano seg kaltės. 1196 00:57:27,875 --> 00:57:30,570 1197 00:57:30,570 --> 00:57:32,770 Žinau fread sukėlė mano seg kaltės, , nes tai buvo 1198 00:57:32,770 --> 00:57:34,950 linija mes tiesiog įvykdytas. 1199 00:57:34,950 --> 00:57:36,530 >> Ir vienintelis dalykas, kuris buvo vyksta toje eilutėje - 1200 00:57:36,530 --> 00:57:37,520 du dalykai buvo vyksta. 1201 00:57:37,520 --> 00:57:40,610 Fread vyksta, tada mes buvome daro kai tikrinant. 1202 00:57:40,610 --> 00:57:44,820 Aš pasiruošęs lažintis, kad KOL tikrinti nebuvo sukelia mano SEG kaltės. 1203 00:57:44,820 --> 00:57:46,950 Labiausiai tikėtina, kad fread buvo todėl mano seg kaltės. 1204 00:57:46,950 --> 00:57:49,260 Aš taip pat matau kažką čia, memcopy. 1205 00:57:49,260 --> 00:57:50,500 >> Atminties kopiją. 1206 00:57:50,500 --> 00:57:53,820 Panašiai skambanti juda atmintį nuo vienos vietos į kitą. 1207 00:57:53,820 --> 00:57:56,890 Skamba kaip kažkas, kad įvyktų į fread, gal kai atminties 1208 00:57:56,890 --> 00:57:58,910 juda iš čia į čia. 1209 00:57:58,910 --> 00:58:01,740 1210 00:58:01,740 --> 00:58:03,860 Eikime per tai vėl. 1211 00:58:03,860 --> 00:58:06,900 Kaip man pradėti, kad per ir paleisti jį dar kartą? 1212 00:58:06,900 --> 00:58:08,092 Taip. 1213 00:58:08,092 --> 00:58:15,140 >> STUDENTŲ 56: Ar jums reikia įdėti prieš buferio ampersand? 1214 00:58:15,140 --> 00:58:17,800 >> JASON Hirschhorn: Taigi Ženklas prieš buferis būtų man duoti adresą 1215 00:58:17,800 --> 00:58:22,330 buferis, kuris yra char *. 1216 00:58:22,330 --> 00:58:25,250 Leiskite paleisti per šią daugiau vienu metu. 1217 00:58:25,250 --> 00:58:28,248 Kaip paleisti per jį dar kartą? 1218 00:58:28,248 --> 00:58:29,210 >> STUDENTŲ 57: Ar jūs tiesiog įveskite paleisti iš naujo? 1219 00:58:29,210 --> 00:58:32,050 >> JASON Hirschhorn: Tiesiog įveskite paleisti vėl. 1220 00:58:32,050 --> 00:58:33,415 Taigi mes neketiname vykdyti šią eilutę. 1221 00:58:33,415 --> 00:58:36,250 1222 00:58:36,250 --> 00:58:39,240 Taigi buferis yra NULL rodyklė. 1223 00:58:39,240 --> 00:58:40,490 Ištaisyti? 1224 00:58:40,490 --> 00:58:45,870 1225 00:58:45,870 --> 00:58:47,060 Ji nukreipta į - pažiūrėkime. 1226 00:58:47,060 --> 00:58:48,500 Jei mes turime - 1227 00:58:48,500 --> 00:58:50,430 atkreipti greitai vaizdą apie tai. 1228 00:58:50,430 --> 00:58:53,500 Ar visi gali pamatyti, jei Aš rašau čia? 1229 00:58:53,500 --> 00:59:02,890 >> Taigi, kamino, turime vietos kintamasis ir ji vadinama buferio ir 1230 00:59:02,890 --> 00:59:08,230 tai rodyklė į char. 1231 00:59:08,230 --> 00:59:10,325 Ką adresas tai char ne? 1232 00:59:10,325 --> 00:59:12,550 >> STUDENTŲ 58: 0x0. 1233 00:59:12,550 --> 00:59:13,400 >> JASON Hirschhorn: Teisė. 1234 00:59:13,400 --> 00:59:14,200 Štai kas tai yra. 1235 00:59:14,200 --> 00:59:17,600 Čia, viduje buferio, yra saugomi 0x0. 1236 00:59:17,600 --> 00:59:20,480 Štai ką mes turime - sąrankos turime dabar. 1237 00:59:20,480 --> 00:59:27,540 Taigi ši eilutė, fread, kelia kažką nuo šaltinis, kur? 1238 00:59:27,540 --> 00:59:30,560 Į šį langelį arba rėmelio? 1239 00:59:30,560 --> 00:59:31,060 Kuris langelis? 1240 00:59:31,060 --> 00:59:33,290 Langelyje kairėje arba dešinėje langelį? 1241 00:59:33,290 --> 00:59:34,750 Ši teisė dėžutė. 1242 00:59:34,750 --> 00:59:38,440 >> Iš to išplaukia, rodyklė, ir įdėkite jį čia. 1243 00:59:38,440 --> 00:59:42,620 Kai mes bandome ir paliesti atminties į vieta 0, ką mes gauname? 1244 00:59:42,620 --> 00:59:45,050 Segmentavimo kaltės. 1245 00:59:45,050 --> 00:59:46,550 Tai klaida, mes turime dabar. 1246 00:59:46,550 --> 00:59:46,970 Taip. 1247 00:59:46,970 --> 00:59:48,410 >> STUDENTŲ 59: Ar jūs neturite įdėti žvaigždučių buferio? 1248 00:59:48,410 --> 00:59:49,180 Ar ne? 1249 00:59:49,180 --> 00:59:50,050 Dėl fread? 1250 00:59:50,050 --> 00:59:51,450 >> JASON Hirschhorn: Taigi fread mano žymeklį. 1251 00:59:51,450 --> 00:59:54,920 1252 00:59:54,920 --> 00:59:55,900 Todėl ji eina buferyje. 1253 00:59:55,900 --> 00:59:58,980 Ir tada jis bus de nuoroda ji kažkur viduje fread. 1254 00:59:58,980 --> 01:00:00,700 Bet vėl, mes matėme, tai užima rodyklę. 1255 01:00:00,700 --> 01:00:02,560 Mums nereikia perduoti jai žvaigždučių buferį. 1256 01:00:02,560 --> 01:00:05,350 Kad būtų perduoti tai kokia čia. 1257 01:00:05,350 --> 01:00:07,980 Ir tai tikriausiai mums klaidą nes mes de nuorodas jį. 1258 01:00:07,980 --> 01:00:08,150 >> Teisė? 1259 01:00:08,150 --> 01:00:10,690 Kai mes de nuoroda šią rodyklę, kai mes stengiamės pasiekti šią vietą, 1260 01:00:10,690 --> 01:00:13,140 mes vis klaidą - mūsų segmentavimo kaltės. 1261 01:00:13,140 --> 01:00:15,800 Taigi - 1262 01:00:15,800 --> 01:00:16,690 Oi. 1263 01:00:16,690 --> 01:00:19,090 Mes ketiname mesti iš gdb. 1264 01:00:19,090 --> 01:00:20,160 Mūsų linija - 1265 01:00:20,160 --> 01:00:22,990 mūsų problema - tai teisė čia šioje eilutėje. 1266 01:00:22,990 --> 01:00:26,410 Ir tai problema, nes Šios linijos. 1267 01:00:26,410 --> 01:00:31,780 >> Kaip mes galime sukurti langą, yra prieinama fread. 1268 01:00:31,780 --> 01:00:31,980 Teisė? 1269 01:00:31,980 --> 01:00:35,190 Mums reikia sukurti langelį, kad yra vienas baitas didelis, char dydis. 1270 01:00:35,190 --> 01:00:38,590 Bet mums reikia, kad langas turi būti prieinama kai ši funkcija atlieka. 1271 01:00:38,590 --> 01:00:39,390 Taigi, kur - 1272 01:00:39,390 --> 01:00:39,640 taip. 1273 01:00:39,640 --> 01:00:40,440 Any ideas? 1274 01:00:40,440 --> 01:00:43,615 >> STUDENTŲ 60: Tiesiog nustatykite ją kaip bet Alfa. 1275 01:00:43,615 --> 01:00:49,150 1276 01:00:49,150 --> 01:00:51,640 Tiesiog atlikite char buferis Lygu pobūdžio. 1277 01:00:51,640 --> 01:00:53,795 Ir tada, kai jūs turite buferio ten - 1278 01:00:53,795 --> 01:00:54,110 >> JASON Hirschhorn: palaukti. 1279 01:00:54,110 --> 01:00:55,110 Char buferio? 1280 01:00:55,110 --> 01:00:55,880 Taigi ne žvaigždė? 1281 01:00:55,880 --> 01:00:56,390 >> STUDENTŲ 60: Taip. 1282 01:00:56,390 --> 01:00:58,560 Išimkite žvaigždė. 1283 01:00:58,560 --> 01:01:00,690 Lygu atsitiktinį pobūdį. 1284 01:01:00,690 --> 01:01:01,460 >> JASON Hirschhorn: Gerai. 1285 01:01:01,460 --> 01:01:02,420 Taigi, duok man vieną. 1286 01:01:02,420 --> 01:01:03,170 >> STUDENTŲ 60: Kaip ar kažką. 1287 01:01:03,170 --> 01:01:06,160 Ir tada, kai jūs turite buferį ten, jūs naudojate - 1288 01:01:06,160 --> 01:01:06,420 >> STUDENTŲ 61: Star? 1289 01:01:06,420 --> 01:01:07,650 O ne, ampersand. 1290 01:01:07,650 --> 01:01:09,000 >> STUDENTŲ 60: Naudokite ampersendas. 1291 01:01:09,000 --> 01:01:09,470 >> JASON Hirschhorn: Gerai. 1292 01:01:09,470 --> 01:01:11,320 O ką, apie fwrite? 1293 01:01:11,320 --> 01:01:14,150 >> STUDENTŲ 60: Naudokite ampersendas dar kartą. 1294 01:01:14,150 --> 01:01:14,320 >> JASON Hirschhorn: Gerai. 1295 01:01:14,320 --> 01:01:20,970 Taigi, jūsų idėja yra, mes sukurti char ir įdėti kažką į jį, ir tada 1296 01:01:20,970 --> 01:01:22,612 rašyti tą char. 1297 01:01:22,612 --> 01:01:23,760 >> STUDENTŲ 60: Taip. 1298 01:01:23,760 --> 01:01:25,916 >> JASON Hirschhorn: Kas žmonės galvoja? 1299 01:01:25,916 --> 01:01:27,770 >> STUDENTŲ 62: Tai spiralinius. 1300 01:01:27,770 --> 01:01:28,460 >> JASON Hirschhorn: Gerai. 1301 01:01:28,460 --> 01:01:29,760 Tegul jį semia. 1302 01:01:29,760 --> 01:01:35,720 Taigi, šį kartą, aš ruošiuosi padaryti tai raudona kamino čia, tada mes 1303 01:01:35,720 --> 01:01:36,410 turės - 1304 01:01:36,410 --> 01:01:36,822 ooh! 1305 01:01:36,822 --> 01:01:38,060 Atsiprašau. 1306 01:01:38,060 --> 01:01:45,930 Taigi, šį kartą mes turime kažką vadinama buferio, ir tai ant kamino. 1307 01:01:45,930 --> 01:01:48,430 Ištaisyti? 1308 01:01:48,430 --> 01:01:51,520 Ir mes taupyti jį, iš pradžių. 1309 01:01:51,520 --> 01:01:53,830 >> Tada mes turime skambinti į fread. 1310 01:01:53,830 --> 01:02:01,300 Kas fread yra ji užima baitą iš mūsų failą ir įdėkite jį kažkur. 1311 01:02:01,300 --> 01:02:04,570 Tai daro jį bet kokia dalykas manimi nukreipta į. 1312 01:02:04,570 --> 01:02:09,130 Na, kol mes turėjo šį adresą - 1313 01:02:09,130 --> 01:02:10,250 0x0. 1314 01:02:10,250 --> 01:02:13,349 Dabar ką adresas turime? 1315 01:02:13,349 --> 01:02:14,650 >> STUDENTŲ 63: Koks adresas buferio. 1316 01:02:14,650 --> 01:02:15,970 >> JASON Hirschhorn: Koks adresas buferio. 1317 01:02:15,970 --> 01:02:22,370 Tai tikriausiai bus kažkas panašaus. 1318 01:02:22,370 --> 01:02:26,950 Tikriausiai bus pradėti su b ir f, ir tada jau kiti šeši 1319 01:02:26,950 --> 01:02:27,970 šešioliktainius skaitmenis. 1320 01:02:27,970 --> 01:02:28,480 Nesvarbu. 1321 01:02:28,480 --> 01:02:29,470 Kai adresą. 1322 01:02:29,470 --> 01:02:31,410 Ir mes perduoti šį adresą in 1323 01:02:31,410 --> 01:02:34,790 >> Ir mes ketiname įdėti mūsų vieną baitas dalykas šiuo adresu. 1324 01:02:34,790 --> 01:02:38,470 Taigi, mes ketiname įdėti savo vieną baitas dalykas viduje čia. 1325 01:02:38,470 --> 01:02:40,800 Ir tada mes ketiname rašyti iš kas nors viduje čia. 1326 01:02:40,800 --> 01:02:43,425 1327 01:02:43,425 --> 01:02:45,380 Ar kas nors turi kokių nors klausimų, apie tai? 1328 01:02:45,380 --> 01:02:50,990 1329 01:02:50,990 --> 01:02:54,690 Kas galvoja, šis kodas bus dirbti? 1330 01:02:54,690 --> 01:02:56,020 >> Pakelkite rankas, jei jūs manote šis kodas veiks. 1331 01:02:56,020 --> 01:02:57,270 Jūs turite imtis poziciją. 1332 01:02:57,270 --> 01:03:00,670 1333 01:03:00,670 --> 01:03:02,500 O kas mano, kad tai kodas neveikia? 1334 01:03:02,500 --> 01:03:04,610 Pakelkite ranką. 1335 01:03:04,610 --> 01:03:06,750 Visi kiti turėtų būti didinti savo jėgas. 1336 01:03:06,750 --> 01:03:07,670 Gerai. 1337 01:03:07,670 --> 01:03:09,390 Mykolas, kur tu stovi? 1338 01:03:09,390 --> 01:03:10,680 >> Michael: Aš negaliu nuspręsti. 1339 01:03:10,680 --> 01:03:12,070 Rūšies viduryje. 1340 01:03:12,070 --> 01:03:12,736 >> JASON Hirschhorn: Jūs esate viduryje. 1341 01:03:12,736 --> 01:03:13,092 Pasirinkti vieną. 1342 01:03:13,092 --> 01:03:14,400 >> Michael: Aš turiu tikėjimą ir pasakyti, kad tai veiks. 1343 01:03:14,400 --> 01:03:14,660 >> JASON Hirschhorn: Gerai. 1344 01:03:14,660 --> 01:03:16,047 Jūs turėsite tikėjimą ir pasakyti, kad tai veikia? 1345 01:03:16,047 --> 01:03:26,490 1346 01:03:26,490 --> 01:03:27,020 Kas atsitiko? 1347 01:03:27,020 --> 01:03:28,270 >> [Tarpines BALSAI] 1348 01:03:28,270 --> 01:03:35,170 1349 01:03:35,170 --> 01:03:35,950 >> JASON Hirschhorn: Nėra seg kaltės. 1350 01:03:35,950 --> 01:03:40,320 Kaip mes galime patikrinti, ar du dalykai yra lygūs? 1351 01:03:40,320 --> 01:03:42,060 Du failai yra vienodi. 1352 01:03:42,060 --> 01:03:43,300 >> STUDENTŲ 64: Diff. 1353 01:03:43,300 --> 01:03:45,490 >> JASON Hirschhorn: Diff. 1354 01:03:45,490 --> 01:03:51,630 Diff patikros skirtumai, du failus, ir jei ji grąžina 1355 01:03:51,630 --> 01:03:52,890 nieko, jie identiški. 1356 01:03:52,890 --> 01:03:59,030 Ir jei mes atverti, mes gauti mūsų failą. 1357 01:03:59,030 --> 01:04:00,490 Taigi, tai buvo teisingas sprendimas. 1358 01:04:00,490 --> 01:04:01,780 Pažvelkime atgal į jį dar kartą. 1359 01:04:01,780 --> 01:04:04,080 Mes iš tikrųjų net nebuvo reikia inicijuoti jį. 1360 01:04:04,080 --> 01:04:05,520 >> Tai tikriausiai atrodo šiek tiek švaresnis, jei tu negali įdėti 1361 01:04:05,520 --> 01:04:07,680 kažkas atsitiktinai ten. 1362 01:04:07,680 --> 01:04:13,070 Taškas yra, jums reikia sukurti kai vietos laikyti ką nors iš 1363 01:04:13,070 --> 01:04:15,530 fread ir imtis ko nors iš fwrite. 1364 01:04:15,530 --> 01:04:18,400 Ir tai, ką turėjo būti arba vietos kintamasis kamino - jūs 1365 01:04:18,400 --> 01:04:19,890 turbut malloc'd šiek tiek erdvės. 1366 01:04:19,890 --> 01:04:23,030 >> Taigi mes iš tikrųjų gali turėti parašyta malloc čia, ir 1367 01:04:23,030 --> 01:04:25,420 kad būtų dirbę. 1368 01:04:25,420 --> 01:04:28,660 Ir tada mes buvo saugoti mūsų viskas kažkur krūvą. 1369 01:04:28,660 --> 01:04:31,940 Bet iš tikrųjų tai yra, tikriausiai, labiausiai elegantiškas sprendimas. 1370 01:04:31,940 --> 01:04:34,490 Tiesiog sukurkite tam tikrą kamino tarpą šie dalykai eiti. 1371 01:04:34,490 --> 01:04:37,690 1372 01:04:37,690 --> 01:04:38,990 >> Aš turiu dvi kitas pastabas. 1373 01:04:38,990 --> 01:04:44,650 Jei buvo imtis ruožtu šiame ir tada gauti įmetė į tai, mano komentarai 1374 01:04:44,650 --> 01:04:47,400 būtų taip. 1375 01:04:47,400 --> 01:04:54,300 Tai 1 tai čia man atrodo kaip magija numerius. 1376 01:04:54,300 --> 01:04:56,860 Tai 1, kalbant apie fread, prasmę. 1377 01:04:56,860 --> 01:04:59,580 Štai dalykų skaityti arba rašyti. 1378 01:04:59,580 --> 01:05:03,740 >> Bet tai vienas čia turėtų tikriausiai bus kažkas. 1379 01:05:03,740 --> 01:05:05,180 Taigi, kas yra viena išeitis? 1380 01:05:05,180 --> 01:05:06,545 >> STUDENTŲ 65: dydis baitą. 1381 01:05:06,545 --> 01:05:10,100 1382 01:05:10,100 --> 01:05:11,080 >> JASON Hirschhorn: Kaip tai? 1383 01:05:11,080 --> 01:05:13,130 >> STUDENTŲ 65: dydis char. 1384 01:05:13,130 --> 01:05:13,820 >> JASON Hirschhorn: dydis char. 1385 01:05:13,820 --> 01:05:15,290 Taip, baitas yra ne tipo. 1386 01:05:15,290 --> 01:05:16,320 Taigi dydis char darbus. 1387 01:05:16,320 --> 01:05:30,270 Mes, gali turėti viršuje mūsų kodas, # apibrėžta, kad. 1388 01:05:30,270 --> 01:05:33,410 Vadinamas kažkas BYTE ir tai tikrai char. 1389 01:05:33,410 --> 01:05:37,675 Tiesą sakant, net geresnis galėjo tai - 1390 01:05:37,675 --> 01:05:39,391 uint. 1391 01:05:39,391 --> 01:05:40,780 Žinote, kas tai yra? 1392 01:05:40,780 --> 01:05:44,388 1393 01:05:44,388 --> 01:05:44,840 >> Atsiprašau. 1394 01:05:44,840 --> 01:05:46,090 Turiu jį atgal. 1395 01:05:46,090 --> 01:05:51,620 1396 01:05:51,620 --> 01:05:52,200 Palaukite, Nr. 1397 01:05:52,200 --> 01:05:53,450 Kokiu būdu ji eiti? 1398 01:05:53,450 --> 01:05:58,071 1399 01:05:58,071 --> 01:05:59,660 Žinote, kas tai yra? 1400 01:05:59,660 --> 01:06:00,950 Taip. 1401 01:06:00,950 --> 01:06:05,650 >> STUDENTŲ 67: turėtų padėti suvienodinti tarp sistemų dalykų, kad 1402 01:06:05,650 --> 01:06:08,760 turi - kaip ir nepasirašytos sveikieji kad turi 8 baitus? 1403 01:06:08,760 --> 01:06:11,785 >> JASON Hirschhorn: Štai visiškai teisus. 1404 01:06:11,785 --> 01:06:14,310 Dėl įvairių mašinų, iš char dydis - 1405 01:06:14,310 --> 01:06:15,180 paprastai nėra char. 1406 01:06:15,180 --> 01:06:16,100 Simbolių paprastai vienas baitas. 1407 01:06:16,100 --> 01:06:19,590 Bet iš kitų duomenų tipų dydis yra įvairių dydžių ant 32 bitų mašina 1408 01:06:19,590 --> 01:06:21,370 , palyginti su 64 bitų kompiuteryje. 1409 01:06:21,370 --> 01:06:25,180 Uint8_t visada 8 bitai - 1410 01:06:25,180 --> 01:06:27,210 visada vienas baitas. 1411 01:06:27,210 --> 01:06:29,580 >> Ir man reikia būti, kad Standartinis int failo antraštės. 1412 01:06:29,580 --> 01:06:35,040 Taigi dabar, tai tikriausiai buvo Geriausias būdas, kad parašyti šį kodą. 1413 01:06:35,040 --> 01:06:40,160 1414 01:06:40,160 --> 01:06:41,450 Taigi man atsikratyti magija numerius. 1415 01:06:41,450 --> 01:06:44,690 Ir aš taip pat logiška Tipo buferio. 1416 01:06:44,690 --> 01:06:49,450 Tai ne tik simbolis, tai yra baitas, o tai, ką mes tikimės, kad ji būtų. 1417 01:06:49,450 --> 01:06:53,400 >> Ir čia, mes iš tikrųjų buvo šiek tiek daugiau patvarus. 1418 01:06:53,400 --> 01:06:55,190 Mes neragina jį char, kuris - 1419 01:06:55,190 --> 01:06:58,630 gal kas žino - gali būti skirtinga dydis skirtingose ​​mašinose. 1420 01:06:58,630 --> 01:07:02,025 Mes iš tikrųjų pasakyti, tai yra būtent vienas baitas, visada, nesvarbu koks. 1421 01:07:02,025 --> 01:07:05,810 Ir jei mes žiūrime čia mes cp. 1422 01:07:05,810 --> 01:07:08,340 Uh-oh. 1423 01:07:08,340 --> 01:07:09,590 Kas atsitiko? 1424 01:07:09,590 --> 01:07:14,470 1425 01:07:14,470 --> 01:07:16,170 >> STUDENTŲ 68: Jis gali būti įjungtas. 1426 01:07:16,170 --> 01:07:17,880 >> JASON Hirschhorn: Kas? 1427 01:07:17,880 --> 01:07:19,130 >> STUDENTŲ 69: Ar? 1428 01:07:19,130 --> 01:07:21,940 1429 01:07:21,940 --> 01:07:25,080 >> STUDENTŲ 70: tu negali apibrėžti kaip tipo. 1430 01:07:25,080 --> 01:07:28,684 >> STUDENTŲ 71: tačiau ji turėtų būti apibrėžta standarto. 1431 01:07:28,684 --> 01:07:29,934 >> STUDENTŲ 72: Kas vyksta? 1432 01:07:29,934 --> 01:07:37,660 1433 01:07:37,660 --> 01:07:40,210 >> STUDENTŲ 73: Ar apibrėžti būti visi dangteliai? 1434 01:07:40,210 --> 01:07:41,370 >> JASON Hirschhorn: Taigi tai ne # define. 1435 01:07:41,370 --> 01:07:45,490 Tiesą sakant, šiuo atveju, aš ketinate naudoti Typedef. 1436 01:07:45,490 --> 01:07:48,590 Kadangi mes naudojame jį kaip tipo vienoje vietoje. 1437 01:07:48,590 --> 01:07:51,990 Taigi šiuo atveju, mes iš tikrųjų nori Typedef kaip mes spausdinti naujo tipo 1438 01:07:51,990 --> 01:07:54,490 baitas, ir tai iš esmės tai. 1439 01:07:54,490 --> 01:07:56,590 Tai šiek tiek kitoks, nei # define. 1440 01:07:56,590 --> 01:08:02,740 >> Ir dabar, mūsų kodas veikia puikiai. 1441 01:08:02,740 --> 01:08:05,230 Taigi, dar kartą, # define trunka kažką, pakeičia jį visur 1442 01:08:05,230 --> 01:08:06,780 su kitas dalykas. 1443 01:08:06,780 --> 01:08:07,920 Tai tiesiog makro - 1444 01:08:07,920 --> 01:08:09,420 Sutrumpintas atsikratyti magija numerius. 1445 01:08:09,420 --> 01:08:11,360 Tačiau šiuo atveju, nes mes naudojant jį kaip tipo - 1446 01:08:11,360 --> 01:08:12,180 čia - 1447 01:08:12,180 --> 01:08:19,880 tam, kad į darbą, mums reikia į Typedef kokia baitas. 1448 01:08:19,880 --> 01:08:21,840 >> Ir mes apibrėžiant jį čia. 1449 01:08:21,840 --> 01:08:24,750 Tai ne struct, tai tikrai tik sveikasis skaičius be ženklo. 1450 01:08:24,750 --> 01:08:27,680 Tai vienas baitas ilgai. 1451 01:08:27,680 --> 01:08:31,910 Šis kodas bus prieinama internete, ir jūs visi turėtų jį dabar. 1452 01:08:31,910 --> 01:08:33,830 >> Taigi, mes turime - 1453 01:08:33,830 --> 01:08:34,250 tobulas - 1454 01:08:34,250 --> 01:08:41,359 13 minučių liko eiti per problema nustatyti 5. 1455 01:08:41,359 --> 01:08:44,270 Noriu pasivaikščioti copy.c kartu, ir tada mes kalbėsime trumpai 1456 01:08:44,270 --> 01:08:47,120 apie kitose Problemos nustatyti. 1457 01:08:47,120 --> 01:08:48,899 Taigi leiskite man atsigriebti copy.c. 1458 01:08:48,899 --> 01:09:03,930 1459 01:09:03,930 --> 01:09:08,810 Ir kietas dalykas yra, mes iš tikrųjų jau parašyta apie šio kodo daug. 1460 01:09:08,810 --> 01:09:11,180 >> Kodas rašėme pažodžiui tik išėjo iš čia, kai buvau 1461 01:09:11,180 --> 01:09:13,120 tai rašau on my own. 1462 01:09:13,120 --> 01:09:16,990 Bet tai copy.c, sudaro pagrindą už pirmąsias dvi dalis 1463 01:09:16,990 --> 01:09:22,340 problema nustatyti whodunit.c, kuris jums reikia parašyti, ir resize.c. 1464 01:09:22,340 --> 01:09:27,050 Recover.c, kuris yra trečiasis ir paskutinis Dalis problemos rinkinį, nėra 1465 01:09:27,050 --> 01:09:29,529 pagrįsta ne šio failo. 1466 01:09:29,529 --> 01:09:32,200 >> Jūs ketinate reikia parašyti šį failą, mes suteikiame Jums už tai šabloną 1467 01:09:32,200 --> 01:09:34,620 failą, bet tai neturi nieko daryti su copy.c. 1468 01:09:34,620 --> 01:09:38,675 Bet kadangi copy.c yra už pagrindą pirmosios dvi dalys, mes ketiname 1469 01:09:38,675 --> 01:09:42,000 vaikščioti per jį dabar, kad jūs turite geras jausmas, ką ji daro. 1470 01:09:42,000 --> 01:09:43,640 >> Ir pastabas duoti kai jis toli. 1471 01:09:43,640 --> 01:09:45,120 Mes jau parašyta keletas tai. 1472 01:09:45,120 --> 01:09:49,220 Pirma, mes įsitikinkite, mes tris argumentus. 1473 01:09:49,220 --> 01:09:50,560 Be to, mes prisiminti, failo pavadinimą. 1474 01:09:50,560 --> 01:09:52,960 Taigi, mes praleisti šį žingsnį, kai mes koduojami mūsų dalykas - 1475 01:09:52,960 --> 01:09:54,700 kai mūsų cp. 1476 01:09:54,700 --> 01:09:56,750 Bet čia jie padaryti tai šiek tiek švaresnis. 1477 01:09:56,750 --> 01:09:59,350 >> Jie teiravosi, ar abu failai yra gera, 1478 01:09:59,350 --> 01:10:00,450 Be to, kad juos atidarant. 1479 01:10:00,450 --> 01:10:04,760 Mes parašėme visą šį kodą tik dabar, todėl aš nesiruošia sustoti prie šio kodo. 1480 01:10:04,760 --> 01:10:09,670 Kitas yra keletas dalykų, kad yra konkrečiai Failų tipai mes naudojame, kuris 1481 01:10:09,670 --> 01:10:12,240 yra bitmap failus. 1482 01:10:12,240 --> 01:10:15,660 Bitmap failus turėti tam tikrą metaduomenis su jais susiję. 1483 01:10:15,660 --> 01:10:20,190 >> Taigi pirmoji pora baitų papasakoti apie failą. 1484 01:10:20,190 --> 01:10:23,460 Jie nėra spalvų toje paveikslėlio pikselių. 1485 01:10:23,460 --> 01:10:25,120 Jie papasakos apie failą. 1486 01:10:25,120 --> 01:10:28,220 Ir jei jums perskaityti problemų rinkinį, jūs turėsite daug daugiau informacijos 1487 01:10:28,220 --> 01:10:33,100 apie tai, kas tipų metaduomenų struktūras yra įtraukti rastriniai failai. 1488 01:10:33,100 --> 01:10:39,350 >> Bet tai kodėl mes turime tai pirmasis rinkinys - šio kodekso čia. 1489 01:10:39,350 --> 01:10:42,490 Mes skaityti metaduomenis - 1490 01:10:42,490 --> 01:10:45,800 dviejų dalių metaduomenis - failų antraštės ir informacija antraštės. 1491 01:10:45,800 --> 01:10:51,030 Ir mes patikrinti kai jį dalių įsitikinkite, kad ji yra teisinga Bitmap failą 1492 01:10:51,030 --> 01:10:52,420 prieš tęsiant. 1493 01:10:52,420 --> 01:10:55,470 >> Ir vėl, tai yra informacija, mes nereikia eiti į dabar. 1494 01:10:55,470 --> 01:10:57,720 Jeigu jūs skaitote per problemos rinkinį, jums suprasti tai. 1495 01:10:57,720 --> 01:11:01,370 Trumpai tariant, jie tiesiog pasakyti, tai yra rastras failą, 1496 01:11:01,370 --> 01:11:02,810 patvirtinantis, kad. 1497 01:11:02,810 --> 01:11:05,180 >> Be to, mes rašome tiems, į iš failo. 1498 01:11:05,180 --> 01:11:05,660 Mes matome, kad čia. 1499 01:11:05,660 --> 01:11:06,910 Mes raštu iš žymeklis. 1500 01:11:06,910 --> 01:11:09,260 1501 01:11:09,260 --> 01:11:11,320 Be to, mes nustatyti paminkštinimas. 1502 01:11:11,320 --> 01:11:15,240 Taigi dar kartą, kaip specifika su Bitmap failą, kai linijos yra 1503 01:11:15,240 --> 01:11:16,840 apdaila pabaigoje. 1504 01:11:16,840 --> 01:11:19,000 Ir jei jums perskaityti problemų rinkinį, Sužinosite daugiau apie paminkštinimas. 1505 01:11:19,000 --> 01:11:22,330 Tai formulė rasti paminkštinimas. 1506 01:11:22,330 --> 01:11:23,610 >> Svarbu prisiminti, - 1507 01:11:23,610 --> 01:11:29,720 kai jūs pakeisite rastrinis dydį failą, išklojimui pakeitimus. 1508 01:11:29,720 --> 01:11:31,970 Kai pakeisti dydį failą, išklojimui pakeitimus. 1509 01:11:31,970 --> 01:11:34,310 Tai niekada nebus didesnis nei 3 - 1510 01:11:34,310 --> 01:11:36,510 tai bus nuo 0 iki 3 imtinai. 1511 01:11:36,510 --> 01:11:38,930 Bet kai jūs pakeisite dydį kažkas, išklojimui pokyčiai. 1512 01:11:38,930 --> 01:11:47,100 >> Jei turiu tik vieną pikselį tos eilutės, aš reikia trijų baitų išklojimui, nes 1513 01:11:47,100 --> 01:11:51,190 kiekvienoje eilutėje turi būti kartotiniai keturių ilgai baitų bitmap failas. 1514 01:11:51,190 --> 01:11:56,120 Bet jei aš du kartus jį, eiti iš vieno pikselio iki dviejų taškų, kurių kiekvienas, 1515 01:11:56,120 --> 01:11:59,510 tarkim, yra baitų, tada man reikia dviejų baitų išklojimui padaryti 1516 01:11:59,510 --> 01:12:00,970 kad lygu keturiems. 1517 01:12:00,970 --> 01:12:04,200 >> Taigi, kai aš pakeisti kažką dydį, Man reikia pakeisti sumą 1518 01:12:04,200 --> 01:12:06,551 iš išklojimui turiu. 1519 01:12:06,551 --> 01:12:08,100 Ar tai prasminga visiems? 1520 01:12:08,100 --> 01:12:12,020 1521 01:12:12,020 --> 01:12:18,720 Be to, mes kartoti per kiekvieną iš eilės, ar per visas eilutes. 1522 01:12:18,720 --> 01:12:21,400 Ir tada mes pakartoti per kiekvieno stulpelio kiekvienoje eilutėje. 1523 01:12:21,400 --> 01:12:25,330 Mes gydant šią bitmap kaip tinklelis, kaip ir mes traktuojami 1524 01:12:25,330 --> 01:12:26,490 iš 15 lenta. 1525 01:12:26,490 --> 01:12:29,200 >> Kaip mes traktuojami plytas, kai mes atspausdinti juos ekrane. 1526 01:12:29,200 --> 01:12:31,350 Eilučių ir stulpelių tinklelis. 1527 01:12:31,350 --> 01:12:32,350 Tada - mes matėme tai. 1528 01:12:32,350 --> 01:12:33,840 Mes iš tikrųjų tiesiog užkoduotas tai. 1529 01:12:33,840 --> 01:12:35,780 Mes sukūrėme tikrą laikiną saugojimą. 1530 01:12:35,780 --> 01:12:38,710 Mes skaityti ten, ir tada mes rašome jį. 1531 01:12:38,710 --> 01:12:42,680 Tai yra būtent tai, ką mes ką tik padarė. 1532 01:12:42,680 --> 01:12:46,760 >> Kitas, nes sakiau kiekviena eilutė baigiasi kai išklojimui, mes 1533 01:12:46,760 --> 01:12:48,260 praleisti per tą išklojimui - 1534 01:12:48,260 --> 01:12:51,000 senas apdaila. 1535 01:12:51,000 --> 01:12:52,630 Ir tada mes vėl jį pridėkite. 1536 01:12:52,630 --> 01:12:55,140 Tokiu atveju, mes sukurti lygiai tas pats failas. 1537 01:12:55,140 --> 01:12:56,180 Mes tiesiog nukopijuokite jį. 1538 01:12:56,180 --> 01:12:57,700 Taigi ši eilutė yra rūšies kvailas. 1539 01:12:57,700 --> 01:12:59,660 Galėtume tiesiog tik įdėti išklojimui in 1540 01:12:59,660 --> 01:13:04,290 >> Tačiau jei pakeisite failo dydį, jūs vis dar norite šią eilutę? 1541 01:13:04,290 --> 01:13:08,510 1542 01:13:08,510 --> 01:13:11,560 Taigi, jei mes pakeisime failo dydis, mes vis dar norime praleisti 1543 01:13:11,560 --> 01:13:12,810 ant senos išklojimui? 1544 01:13:12,810 --> 01:13:15,170 1545 01:13:15,170 --> 01:13:15,970 >> STUDENTŲ 74: Taip. 1546 01:13:15,970 --> 01:13:17,090 >> JASON Hirschhorn: Taigi mes darome. 1547 01:13:17,090 --> 01:13:19,290 Nes Tai vėlgi pasiūlymai su šaltinio failu. 1548 01:13:19,290 --> 01:13:21,570 Mes nerūpi išklojimui iš šaltinio failo. 1549 01:13:21,570 --> 01:13:23,410 Mes norime eiti į kitą eilutę. 1550 01:13:23,410 --> 01:13:28,850 Bet mes negalime tiesiog įdėti atgal senas suma paminkštinimas. 1551 01:13:28,850 --> 01:13:31,540 Mums reikia įdėti atgal Nauja suma paminkštinimas. 1552 01:13:31,540 --> 01:13:35,810 >> Taigi, kai mes keisti dydį failą, mes vis dar norime praleisti 1553 01:13:35,810 --> 01:13:38,270 Apmušalas senas failas - kas mes skaityti iš. 1554 01:13:38,270 --> 01:13:40,370 Tačiau tai, ką mes norime, mes ketiname kad reikia įdėti atgal kai skiriasi 1555 01:13:40,370 --> 01:13:41,890 skaičius išklojimui, kad mes nustatyti. 1556 01:13:41,890 --> 01:13:42,780 Taip. 1557 01:13:42,780 --> 01:13:44,550 >> STUDENTŲ 75: šių dviejų tvarka linijos nesvarbu, tiesa? 1558 01:13:44,550 --> 01:13:46,160 Kadangi jūs tvarkymas skirtingos bylos. 1559 01:13:46,160 --> 01:13:46,620 >> JASON Hirschhorn: Būtent. 1560 01:13:46,620 --> 01:13:48,220 Šių dviejų linijų tvarka nesvarbu. 1561 01:13:48,220 --> 01:13:49,790 Mes rašome šią eilutę. 1562 01:13:49,790 --> 01:13:51,430 Tai čia failo mes raštu. 1563 01:13:51,430 --> 01:13:54,370 Tai labai svarbu, kad mes gauti teisinga suma paminkštinimas. 1564 01:13:54,370 --> 01:13:57,560 Tai turi spręsti per failas. 1565 01:13:57,560 --> 01:13:58,560 Mes norime iš karto pereiti per paminkštinimas. 1566 01:13:58,560 --> 01:13:59,470 >> Mes nenorime skaityti - 1567 01:13:59,470 --> 01:14:01,500 jei mes skaityti baitas metu, mes negalvoja apie tuos išplėtimo baitai. 1568 01:14:01,500 --> 01:14:04,070 Mes norime, kad pereitumėte į kitą eilutę. 1569 01:14:04,070 --> 01:14:11,800 Galiausiai, kaip Lucy davė mums, mes uždaryti failus ir grįžti 0. 1570 01:14:11,800 --> 01:14:13,890 Taigi tai yra copy.c. 1571 01:14:13,890 --> 01:14:17,850 Ir mes iš tikrųjų parašė - mes praleido didžiąją skyriuje rašau šį iš esmės. 1572 01:14:17,850 --> 01:14:18,740 >> Jūs padarė tai. 1573 01:14:18,740 --> 01:14:22,440 Taigi, tikiuosi, jūs turite gerą jausmą kas vyksta čia. 1574 01:14:22,440 --> 01:14:25,890 Didelis skirtumas, sąžiningai, yra tik ši pirmoji dalis, kuri susijusi su 1575 01:14:25,890 --> 01:14:29,970 ypatumai bitmap failus. 1576 01:14:29,970 --> 01:14:33,570 Taigi turiu kaip mano kitą skaidrę, Ką mes turime daryti? 1577 01:14:33,570 --> 01:14:35,510 Na, pagalvokime apie Detektīvromāns. 1578 01:14:35,510 --> 01:14:38,080 >> Ir ką nors, kas perskaityti problema nustatyti, ką mes 1579 01:14:38,080 --> 01:14:41,410 reikia padaryti Detektīvromāns? 1580 01:14:41,410 --> 01:14:42,080 Tiesiog. 1581 01:14:42,080 --> 01:14:42,460 Aleja. 1582 01:14:42,460 --> 01:14:48,570 >> Aleja: Ar galite imti tą dalį, kiekvieno pikselio, kad žymi raudonai. 1583 01:14:48,570 --> 01:14:49,730 Ir tada - 1584 01:14:49,730 --> 01:14:50,730 natūra? 1585 01:14:50,730 --> 01:14:51,860 >> JASON Hirschhorn: Gerai. 1586 01:14:51,860 --> 01:14:54,460 Taigi, imti iš kiekvienos dalies, pikselių, kad žymi raudonai. 1587 01:14:54,460 --> 01:14:57,234 Štai arti, bet ne visa tai. 1588 01:14:57,234 --> 01:14:59,780 >> STUDENTŲ 76: Na, yra įvairių būdų, kaip tai padaryti. 1589 01:14:59,780 --> 01:14:59,870 >> JASON Hirschhorn: Gerai. 1590 01:14:59,870 --> 01:15:03,070 Duok man vieną pusę. 1591 01:15:03,070 --> 01:15:08,240 >> STUDENTŲ 76: Išimkite visas raudonas, ir tada pabrėžti mėlyna ir žalia. 1592 01:15:08,240 --> 01:15:10,010 >> JASON Hirschhorn: Gerai. 1593 01:15:10,010 --> 01:15:11,830 Taigi, atsižvelgiant į abu šie būdai - 1594 01:15:11,830 --> 01:15:15,210 tai skamba kaip mes suteikiame jai pikselių, ji turi raudoną, mėlyną ir žalią lygį. 1595 01:15:15,210 --> 01:15:19,350 Mes norime pakeisti santykinius lygius raudona, mėlyna ir žalia, priklausomai 1596 01:15:19,350 --> 01:15:20,740 tą pixel. 1597 01:15:20,740 --> 01:15:28,380 Jeigu šiuo kodu mes turėtume pakeisti santykinis raudona, mėlyna ir žalia 1598 01:15:28,380 --> 01:15:29,720 lygiai tam tikrą pikselių. 1599 01:15:29,720 --> 01:15:30,600 Po mes jį skaityti - 1600 01:15:30,600 --> 01:15:32,520 kol mes rašyti? 1601 01:15:32,520 --> 01:15:34,564 Duok eilutės numerį. 1602 01:15:34,564 --> 01:15:35,950 >> KELI STUDENTAI: 83. 1603 01:15:35,950 --> 01:15:37,320 >> JASON Hirschhorn: 83. 1604 01:15:37,320 --> 01:15:38,570 Taigi čia. 1605 01:15:38,570 --> 01:15:40,830 1606 01:15:40,830 --> 01:15:45,710 Dėl Detektīvromāns, kodas, kurį reikia rašyti visi turėtų eiti tiesiai ten. 1607 01:15:45,710 --> 01:15:47,640 Ir tai tik kodas jums reikia parašyti. 1608 01:15:47,640 --> 01:15:51,520 , Nes, kaip mes girdėjome, viskas, ko jums reikia padaryti, tai pakeisti šias santykinį mėlyna, 1609 01:15:51,520 --> 01:15:54,420 raudonos ir žalios lygiai iš kiekvieno taško. 1610 01:15:54,420 --> 01:15:58,250 >> Jūs jį skaityti, ir dabar jūs esate ketinate rašyti jį. 1611 01:15:58,250 --> 01:16:03,100 Kaip man - jei turiu šį dalyką vadinamas triviečiai, čia, ir tai iš 1612 01:16:03,100 --> 01:16:04,570 įveskite RGBTRIPLE - 1613 01:16:04,570 --> 01:16:08,650 gerai, jei mes pažvelgė į bmp.h, kas RGBTRIPLE? 1614 01:16:08,650 --> 01:16:11,450 1615 01:16:11,450 --> 01:16:12,700 >> STUDENTŲ 77: Tai konstrukto. 1616 01:16:12,700 --> 01:16:17,440 1617 01:16:17,440 --> 01:16:18,900 >> JASON Hirschhorn: RGBTRIPLE yra struct. 1618 01:16:18,900 --> 01:16:22,330 Mes matome, kad teisė čia. 1619 01:16:22,330 --> 01:16:26,600 Ir taip, jei aš norėjau pasiekti, tarkim, raudona lygis struct, kaip man 1620 01:16:26,600 --> 01:16:30,005 pasiekti raudoną lygį šioje struct? 1621 01:16:30,005 --> 01:16:37,280 >> [KLASĖ ūžia] 1622 01:16:37,280 --> 01:16:38,530 >> STUDENTŲ 78: RGBTRIPLE.rgbtred? 1623 01:16:38,530 --> 01:16:47,250 1624 01:16:47,250 --> 01:16:48,856 >> JASON Hirschhorn: Ar tai teisinga? 1625 01:16:48,856 --> 01:16:53,040 >> STUDENTŲ 79: Jis turi būti trigubai taškas, o ne RGBTRIPLE tašku? 1626 01:16:53,040 --> 01:16:54,120 >> JASON Hirschhorn: Trivietis. 1627 01:16:54,120 --> 01:16:56,700 Trivietis yra vietos kintamąjį, todėl čia nėra jokių patarimų čia. 1628 01:16:56,700 --> 01:16:58,400 Taigi mes tiesiog naudoti dot žymėjimą. 1629 01:16:58,400 --> 01:17:00,480 Tai duos man raudonos lygį. 1630 01:17:00,480 --> 01:17:06,180 Jei aš noriu jį pakeisti, aš tiesiog nustatyti ji lygi kažkuo kitu. 1631 01:17:06,180 --> 01:17:13,190 Taigi dar kartą, šį kodo eilutę accesses Šis kintamasis viduje šis struct, ir 1632 01:17:13,190 --> 01:17:15,070 mes galime nustatyti, kad jis ką nors naujo. 1633 01:17:15,070 --> 01:17:20,040 >> Taigi Detektīvromāns, vėlgi, tai yra, iš esmės tai, ką mes turime daryti. 1634 01:17:20,040 --> 01:17:21,170 Labai paprasta. 1635 01:17:21,170 --> 01:17:25,020 Tiesiog pakeisti kai kuriuos santykinius lygius ir tai yra, kai šis kodeksas eina. 1636 01:17:25,020 --> 01:17:27,720 Dydį, kita vertus, yra šiek tiek sudėtingesnis. 1637 01:17:27,720 --> 01:17:30,900 Tiesą sakant, dydį turbūt Sudėtingiausia dalis šią problemą nustatyti. 1638 01:17:30,900 --> 01:17:32,720 Mes turime tris minutes eiti per jį. 1639 01:17:32,720 --> 01:17:34,910 >> Bet vėl, mes jau parašyta dauguma šio kodekso, todėl mes 1640 01:17:34,910 --> 01:17:36,500 turėtų būti gana pažįstamas. 1641 01:17:36,500 --> 01:17:40,750 Kokie yra keletas dalykų, kuriuos mes norime daryti dydį, jei jūs skaityti daugiau 1642 01:17:40,750 --> 01:17:43,470 problema nustatyti? 1643 01:17:43,470 --> 01:17:45,290 Jei galite pateikti juos man, mes galime kalbėti apie juos. 1644 01:17:45,290 --> 01:17:47,340 Kokie yra keletas dalykų, kuriuos norime padaryti? 1645 01:17:47,340 --> 01:17:47,970 >> STUDENTŲ 80: Vertikaliai - 1646 01:17:47,970 --> 01:17:52,360 todėl jūs turite horizontaliai keisti jo dydį, bet vertikaliai keisti jo dydį, taip pat? 1647 01:17:52,360 --> 01:17:58,475 >> JASON Hirschhorn: Taigi, jei mes suteikiama taškų, ir mes norime keisti jį 1648 01:17:58,475 --> 01:18:03,460 veiksnys iš dviejų, tai dabar turi būti keičiamas horizontaliai ir keičiamas 1649 01:18:03,460 --> 01:18:05,220 vertikaliai. 1650 01:18:05,220 --> 01:18:06,640 Ar tai prasminga? 1651 01:18:06,640 --> 01:18:07,060 Taip. 1652 01:18:07,060 --> 01:18:09,300 Taigi, tai tikriausiai Didžiausias iššūkis. 1653 01:18:09,300 --> 01:18:10,430 Ir mes kalbame apie tai per sec. 1654 01:18:10,430 --> 01:18:11,065 Taip. 1655 01:18:11,065 --> 01:18:15,270 >> STUDENTŲ 81: kaip aš maniau, kad jis buvo jums reikia atsispausdinti - 1656 01:18:15,270 --> 01:18:15,490 >> JASON Hirschhorn: palaukti. 1657 01:18:15,490 --> 01:18:17,580 Negalima pasakyti mums, ką padarė. 1658 01:18:17,580 --> 01:18:20,620 Mes ketiname kalbėti logika. 1659 01:18:20,620 --> 01:18:21,870 >> STUDENTŲ 81: Gerai. 1660 01:18:21,870 --> 01:18:25,090 1661 01:18:25,090 --> 01:18:27,410 Koks buvo klausimas? 1662 01:18:27,410 --> 01:18:28,892 >> JASON Hirschhorn: Jūs tiesiog pakėlėte ranką. 1663 01:18:28,892 --> 01:18:31,600 Nebuvo jokių abejonių. 1664 01:18:31,600 --> 01:18:32,520 Leiskite man pristatyti jį. 1665 01:18:32,520 --> 01:18:34,560 Leiskite aptarti šį trumpai. 1666 01:18:34,560 --> 01:18:38,400 Taigi, mes turime vieną tašką, mes norime atkartoti, tiek horizontaliai, tiek 1667 01:18:38,400 --> 01:18:39,360 vertikaliai. 1668 01:18:39,360 --> 01:18:48,920 Taigi geriausia, ką mes čia darome, mes skaityti mūsų pikselių, mes rašyti 1669 01:18:48,920 --> 01:18:51,690 Tačiau daug kartų. 1670 01:18:51,690 --> 01:18:54,720 >> Bet tada mes turime apgauti čia, nes tada mes norime pereiti prie 1671 01:18:54,720 --> 01:18:57,660 kitą eilutę ir rašyti tai ne pradžioje į kitą eilutę. 1672 01:18:57,660 --> 01:19:02,960 Taigi, jei mes norime pakartoti ir horizontaliai ir vertikaliai, kas yra 1673 01:19:02,960 --> 01:19:05,050 vienas geras būdas tai padaryti - 1674 01:19:05,050 --> 01:19:06,780 viena gera, nors tai padaryti? 1675 01:19:06,780 --> 01:19:11,950 Taigi mums nereikia nuolat ieškoti aplink mūsų failą įdėti dalykų. 1676 01:19:11,950 --> 01:19:14,360 >> Šis klausimas gali neturėti prasmės, bet manau, 1677 01:19:14,360 --> 01:19:15,800 atsakyti jai padės. 1678 01:19:15,800 --> 01:19:17,210 >> STUDENTŲ 82: Sukurti masyvą? 1679 01:19:17,210 --> 01:19:20,090 >> JASON Hirschhorn: Taigi pagalvokime Kiekvieno failo kaip eilės. 1680 01:19:20,090 --> 01:19:22,550 Pagalvokime pagal eilučių. 1681 01:19:22,550 --> 01:19:26,670 Jei mes turime pirmą eilutę iš mūsų maža nuotrauką, mes galime padaryti, kad eilutė 1682 01:19:26,670 --> 01:19:30,640 į didelės eilės nuo didelio paveikslėlyje, ir tada pakartoti tą eilutę tačiau 1683 01:19:30,640 --> 01:19:34,250 daug kartų jis turi būti pakartotas, o ne eiti pikselis pixel, 1684 01:19:34,250 --> 01:19:37,260 kuri pasireiškia painu, kai susijusius su failais. 1685 01:19:37,260 --> 01:19:38,730 >> Nes jei mes turėjome - 1686 01:19:38,730 --> 01:19:41,260 Bėgu iš vietos. 1687 01:19:41,260 --> 01:19:46,490 Jei tai yra mūsų byla, ir mes turime, kad vieną tašką ten, ir mes norime jį 1688 01:19:46,490 --> 01:19:49,840 teisę ten, mes vis dar turime kai kurių dalykų kad reikia eiti ten, kai mes 1689 01:19:49,840 --> 01:19:51,450 rašyti ir kurti mūsų naują failą - 1690 01:19:51,450 --> 01:19:53,250 mūsų failas tai dvigubai didesnis. 1691 01:19:53,250 --> 01:19:56,820 >> Bet tai tikrai sunku su failų funkcijų praleisti aplink naujų linijų 1692 01:19:56,820 --> 01:20:00,260 pavyzdžiui, kad ir tada grįžti čia ir įdėti dalykų ten. 1693 01:20:00,260 --> 01:20:04,500 Tai beveik neįmanoma ką nors padaryti kaip kad, jei tai turi prasmę. 1694 01:20:04,500 --> 01:20:10,180 Taigi, jei mes manome, kad, atsižvelgiant į eilučių, galime imtis savo eilutę ir tada padėkite jį - 1695 01:20:10,180 --> 01:20:11,720 pakartoti eilutes vertikaliai. 1696 01:20:11,720 --> 01:20:15,860 >> Ir tai, kaip mes sprendžiame dydį vertikaliai, o ne horizontaliai. 1697 01:20:15,860 --> 01:20:18,810 Tai buvo natūra greitai ir šiek tiek klaidina. 1698 01:20:18,810 --> 01:20:22,375 Deja, mūsų laikas. 1699 01:20:22,375 --> 01:20:27,340 Aš stovėsiu ne tiems iš jūsų, čia kas turite klausimų apie 1700 01:20:27,340 --> 01:20:30,500 problema rinkinys, įskaitant atsigauti. 1701 01:20:30,500 --> 01:20:32,320 >> Taigi galime atidėti dabar. 1702 01:20:32,320 --> 01:20:34,480 Ir vėl, jei turite kokių nors klausimų, mes galime kalbėtis už jos ribų. 1703 01:20:34,480 --> 01:20:38,294