1 00:00:00,000 --> 00:00:07,810 2 00:00:07,810 --> 00:00:09,840 >> JASON Hirschhorn: Xoş gəlmisiniz, Həftənin 6 hər kəs. 3 00:00:09,840 --> 00:00:14,790 Mən də diri bütün görmək üçün xoşbəxtəm və Quiz 0 sonra, çünki bilirik ki, 4 00:00:14,790 --> 00:00:15,810 bir az kobud idi. 5 00:00:15,810 --> 00:00:18,370 Amma şükürlər olsun ki, bütün olduqca yaxşı idi. 6 00:00:18,370 --> 00:00:21,680 Və belə ki, gözəldir. 7 00:00:21,680 --> 00:00:25,840 Siz mənim bölməsində edirsinizsə, mən ən təqdim etdik Siz artıq sınavlar geri. 8 00:00:25,840 --> 00:00:28,050 >> Siz bir neçə, Mən cavab alıram sinif sonra. 9 00:00:28,050 --> 00:00:32,360 Və uzadılması tələbə və əgər geri viktorina almadınızsa 10 00:00:32,360 --> 00:00:35,490 hələ, sizin TF yəqin ki, onun üzərində işləyir və grading və onu geri almaq olacaq 11 00:00:35,490 --> 00:00:36,490 sizə qısa. 12 00:00:36,490 --> 00:00:39,650 Olan Belə ki, mənim məsləhət tələbələr indi seyr - ümid yaşayır - 13 00:00:39,650 --> 00:00:42,880 Mən sizin viktorina olacaq qısa həmçinin. 14 00:00:42,880 --> 00:00:45,670 >> Aşağıdakı kimi bizim bu gün üçün gündəmdə. 15 00:00:45,670 --> 00:00:50,170 Birincisi, biz bir artıq getmək olacaq CS50 sizə verir ki, resursları. 16 00:00:50,170 --> 00:00:54,590 Biz növbəti Quiz 0 artıq getmək, və edirik Mən hər hansı bir sual heç cavab olacaq 17 00:00:54,590 --> 00:00:57,360 xüsusi problemləri haqqında var. 18 00:00:57,360 --> 00:01:02,050 Və sonra, biz artıq davam edəcək fayl I / O və problem 5 seçin. 19 00:01:02,050 --> 00:01:07,360 Bu son iki mövzu olacaq hissəsinin toplu bu gün. 20 00:01:07,360 --> 00:01:11,680 >> Mən kimi hər həftə bu siyahısını qoymaq bütün, lakin əsas xatırlatma 21 00:01:11,680 --> 00:01:14,650 bölümünde, biz yalnız 90 dəqiqə var - biz hər şeyi əhatə etmək mümkün deyil ki, mən 22 00:01:14,650 --> 00:01:16,280 Siz uşaqlar üçün əhatə üçün sevgi olardı. 23 00:01:16,280 --> 00:01:21,170 Amma biz üçün ehtiyatların bir ton var Bildiyiniz almaq kimi sizə cəlb etmək 24 00:01:21,170 --> 00:01:24,000 vasitəsilə material və iş Sizin problem edir. 25 00:01:24,000 --> 00:01:30,810 >> Mən online bir mətn var ki, öyüd-nəsihət Əgər doldurmaq üçün sizin üçün qurmaq qutusu, 26 00:01:30,810 --> 00:01:33,250 Mənim üçün hər hansı bir Əlaqə var, müsbət və həm də 27 00:01:33,250 --> 00:01:35,180 bölmə haqqında, konstruktiv. 28 00:01:35,180 --> 00:01:38,600 Bu URL sağ aşağı burada yerləşir. 29 00:01:38,600 --> 00:01:43,250 Əgər hər hansı bir varsa, bir an edin Əlaqə, olub bölmə zamanı, 30 00:01:43,250 --> 00:01:48,030 və ya sonra, və ya sonra video izləmək online, mənə geribildirim. 31 00:01:48,030 --> 00:01:52,100 Mən, həqiqətən, hər hansı bir və bütün üçün təşəkkür edirik. 32 00:01:52,100 --> 00:01:55,730 >> Mən kiçik söhbət malik olduğunuz mənim bir çox 33 00:01:55,730 --> 00:01:59,350 həftə ərzində tələbələri - I əl kimi geri sınavlar, haqqında söhbət 34 00:01:59,350 --> 00:02:01,480 Əlbəttə ki, siz yapýyorsun necə görüb. 35 00:02:01,480 --> 00:02:05,120 Və bir mövzu üzərində gəlmək və üzərində söhbət in - 36 00:02:05,120 --> 00:02:05,660 xüsusi - 37 00:02:05,660 --> 00:02:07,710 problem edir. 38 00:02:07,710 --> 00:02:13,090 Mən ki, mövzu şəkilində var indi board. 39 00:02:13,090 --> 00:02:16,630 >> Əsasən, bir fərq var ki, bir şey dönüş arasında 40 00:02:16,630 --> 00:02:19,590 düzgün və bir şey ki, yaxşı edilir. 41 00:02:19,590 --> 00:02:22,920 Çoxu fantastik bunu edilmişdir düzgünlüyünə baxımından - 42 00:02:22,920 --> 00:02:25,460 Bütün psets 5 və ya 4-. 43 00:02:25,460 --> 00:02:27,930 Çoxu alır o zaman bütün. 44 00:02:27,930 --> 00:02:31,150 >> Lakin, yalnız, çünki siz etdiyiniz bir şey doğru var demək deyil 45 00:02:31,150 --> 00:02:34,450 kimi zərif bir şey, və ya səmərəli, və ya cleanly sizin kimi 46 00:02:34,450 --> 00:02:35,270 onu edə bilərdi. 47 00:02:35,270 --> 00:02:36,790 Və nə dizayn - 48 00:02:36,790 --> 00:02:39,230 və bir az dərəcəsi, stil - 49 00:02:39,230 --> 00:02:40,450 baltalar üçün. 50 00:02:40,450 --> 00:02:45,130 Mən sizə bütün basmaqla, və digər TFS edirəm yalnız növbəsində, siz uşaqlar basmaqla olunur 51 00:02:45,130 --> 00:02:48,320 doğru, lakin çevirmək ki, hər şeyi yaxşı kodlu olan şeylər. 52 00:02:48,320 --> 00:02:53,060 >> Loops ÜÇÜN lazımsız edir, dəyişənlərin əgər recalculating deyil 53 00:02:53,060 --> 00:02:53,800 Siz yoxdur. 54 00:02:53,800 --> 00:02:58,520 Məsələn, müəyyən geri problem axtarır 4, haqqında kərpic yerləşdirilməsi 55 00:02:58,520 --> 00:03:03,070 ekran, hər satır - bir hər kərpic verilmiş sıra eyni y-koordinat var - 56 00:03:03,070 --> 00:03:04,390 Eyni hündürlüyü əlaqələndirmək. 57 00:03:04,390 --> 00:03:07,930 >> Y-koordinasiya etmək lazım deyil ki, belə Daxili daxili hesablanır 58 00:03:07,930 --> 00:03:11,070 çox güman ki, istifadə ki, loop ÜÇÜN iç içə ekranda həmin kərpic qoymaq. 59 00:03:11,070 --> 00:03:14,030 Bu, yalnız hər hesablanır lazımdır zaman bir sıra işə, və ya 60 00:03:14,030 --> 00:03:15,200 bir sıra aşağı köçürülüb. 61 00:03:15,200 --> 00:03:19,760 10 kərpic bir var əgər belə demək satır, hər bir kərpic eyni ola bilər 62 00:03:19,760 --> 00:03:22,260 y-koordinatını və y-əlaqələndirmək yalnız hesablanır bilər 63 00:03:22,260 --> 00:03:23,550 o bütün bir dəfə. 64 00:03:23,550 --> 00:03:27,810 >> Bu 10 hesablanır lazım deyil dəfə, nə də ki, hesablama ehtiyac 65 00:03:27,810 --> 00:03:30,220 faktiki baş funksiyası zəng - 66 00:03:30,220 --> 00:03:33,020 yeni gracked funksiyası zəng. 67 00:03:33,020 --> 00:03:37,820 Belə ki, bir az çaşdırıcı idi əgər Daha çox ümumi, hər şeyi ki, 68 00:03:37,820 --> 00:03:40,730 hər bir zaman baş ehtiyac yoxdur siz olmamalıdır bir ÜZRƏ loop keçmək 69 00:03:40,730 --> 00:03:42,900 Bu ÜÇÜN loop daxilində qoymaq və olmamalı Siz getmək hər zaman baş 70 00:03:42,900 --> 00:03:44,080 Bu ÜÇÜN loop vasitəsilə. 71 00:03:44,080 --> 00:03:49,270 >> Gördük yaxşı bir dizayn nümunəsidir 15 həftə 3, siz saxlamaq bilər 72 00:03:49,270 --> 00:03:50,500 sıfır track. 73 00:03:50,500 --> 00:03:53,600 Belə ki, siz board başlamaq zaman saxlamaq - qlobal dəyişən, bəlkə - 74 00:03:53,600 --> 00:03:56,140 x və sıfır y-əlaqələndirmək. 75 00:03:56,140 --> 00:03:57,520 Və sonra zaman - 76 00:03:57,520 --> 00:04:00,310 Sizin hərəkət funksiyası, zaman etmək uğurlu bir addım, siz yeniləmə 77 00:04:00,310 --> 00:04:02,040 sıfır yeri. 78 00:04:02,040 --> 00:04:06,240 >> Ki, nə malik sizi xilas edəcək vasitəsilə baxmaq üçün loops üçün iç içə 79 00:04:06,240 --> 00:04:10,700 Sizin hərəkət funksiyası hər zaman board və sıfır tapmaq, və ya kafel tapmaq 80 00:04:10,700 --> 00:04:12,460 və sonra onun yanında nə yoxlamaq. 81 00:04:12,460 --> 00:04:16,329 Bunun yerine, yeri var sıfır, yalnız aşağıda, yuxarıda baxmaq olar 82 00:04:16,329 --> 00:04:21,160 və sol və sağ tapmaq üçün aradığınız kafel. 83 00:04:21,160 --> 00:04:24,970 >> Belə ki, biz proqramları baxımından yazı, onlar kifayət qədər böyük heç istəyirik 84 00:04:24,970 --> 00:04:28,580 ki, bu dizayn qərarları bəzi həqiqətən mane gedir sizin 85 00:04:28,580 --> 00:04:31,670 proqram, və ya, daha yavaş run etmək və ya bəlkə hətta yaddaş tökülmək. 86 00:04:31,670 --> 00:04:35,030 Amma biz hələ də uşaqlar məcbur edirik yazmaq kimi zərif və 87 00:04:35,030 --> 00:04:36,450 mümkün qədər səmərəli kodu. 88 00:04:36,450 --> 00:04:39,910 >> Belə ki, əgər şeyi yazılı başa əhəmiyyətli dərəcədə daha böyük var ki, 89 00:04:39,910 --> 00:04:44,660 daxilində, onlar yaxşı ilə yazılı olacaq doğru olmaqla yanaşı dizayn. 90 00:04:44,660 --> 00:04:46,300 Beləliklə, siz bir sıra ki, çıxardıq. 91 00:04:46,300 --> 00:04:48,560 Yəni biz aradığınız bir şey var - biz davam edirik bir şey 92 00:04:48,560 --> 00:04:49,840 sizə uşaqlar basın. 93 00:04:49,840 --> 00:04:52,460 >> Əgər haqqında hər hansı bir sualınız varsa, Proqram dizayn, çekinmeyin 94 00:04:52,460 --> 00:04:56,870 mənə çatmaq, mən xoşbəxt oldum sizin proqram vasitəsilə gəzmək, 95 00:04:56,870 --> 00:05:01,320 və dizayn bəzi qeyd siz etdi və bəzi vermək qərarlar 96 00:05:01,320 --> 00:05:06,240 etmək üçün necə təkliflər hətta yaxşı dizayn qərarları. 97 00:05:06,240 --> 00:05:08,870 >> Belə ki, biz hərəkət olacaq Quiz 0 söhbət. 98 00:05:08,870 --> 00:05:11,300 Biz bunu əvvəl, heç yoxdur haqqında hər hansı bir sualınız nə 99 00:05:11,300 --> 00:05:14,252 Mən bu günə qədər əhatə etdik? 100 00:05:14,252 --> 00:05:21,500 >> [Xışıltı KÜY] 101 00:05:21,500 --> 00:05:22,750 >> JASON Hirschhorn: Seven seconds. 102 00:05:22,750 --> 00:05:23,250 OK. 103 00:05:23,250 --> 00:05:24,970 Bir az Quiz 0 danışaq. 104 00:05:24,970 --> 00:05:26,700 Siz ən Quiz 0 geri var. 105 00:05:26,700 --> 00:05:29,820 Siz, inşallah deyilsə Siz bir az xatırlayıram. 106 00:05:29,820 --> 00:05:34,770 Amma sonra Quiz 0, siz qəbul etdiyiniz əgər da online PDF etmək imkanı var 107 00:05:34,770 --> 00:05:35,890 Nümunə həllər. 108 00:05:35,890 --> 00:05:39,480 >> Heç əvvəl hər hansı sualınız varmı biz həftə material daxil jump 109 00:05:39,480 --> 00:05:41,520 Quiz 0 xüsusi problem - 110 00:05:41,520 --> 00:05:44,630 niyə cavab nə edir? 111 00:05:44,630 --> 00:05:47,255 Heç bir şey haqqında səhv edir? 112 00:05:47,255 --> 00:05:50,230 Sağ problem var, hətta əgər yalnız mənə bir az izah etmək istəyirəm 113 00:05:50,230 --> 00:05:52,640 daha, mən indi bunu xoşbəxtəm. 114 00:05:52,640 --> 00:05:57,800 >> Mən sizə uşaqlar xahiş bəzi ilə hazırlanmış gəlir 115 00:05:57,800 --> 00:05:59,440 Quiz 0 əlaqədar düşüncələrini. 116 00:05:59,440 --> 00:06:02,660 Belə ki, kim bizə almaq istəyirəm bir sual və ya başladı 117 00:06:02,660 --> 00:06:04,655 Quiz 0 haqqında comment? 118 00:06:04,655 --> 00:06:07,435 119 00:06:07,435 --> 00:06:10,410 >> [Kağız xışıltı] 120 00:06:10,410 --> 00:06:11,470 >> JASON Hirschhorn: Not hamı mükəmməl idi. 121 00:06:11,470 --> 00:06:12,720 Mən bilirəm [gülür] 122 00:06:12,720 --> 00:06:15,950 bəzi suallar olmaq var Quiz 0 haqqında. 123 00:06:15,950 --> 00:06:27,940 124 00:06:27,940 --> 00:06:28,590 OK. 125 00:06:28,590 --> 00:06:29,210 Bəli. 126 00:06:29,210 --> 00:06:29,600 Ompica. 127 00:06:29,600 --> 00:06:30,520 >> OMPICA: sayı 10. 128 00:06:30,520 --> 00:06:33,560 >> JASON Hirschhorn: sayı 10. 129 00:06:33,560 --> 00:06:35,400 Hansı sayı 10 oldu? 130 00:06:35,400 --> 00:06:35,840 >> OMPICA: The - 131 00:06:35,840 --> 00:06:36,420 >> JASON Hirschhorn: I haven't - 132 00:06:36,420 --> 00:06:37,670 >> OMPICA: The daxildir - 133 00:06:37,670 --> 00:06:40,060 134 00:06:40,060 --> 00:06:42,180 >> JASON Hirschhorn: sayı 10 səkkiz idi i - i səkkiz yazılı? 135 00:06:42,180 --> 00:06:42,980 >> OMPICA: Bəli. 136 00:06:42,980 --> 00:06:43,630 >> JASON Hirschhorn: OK. 137 00:06:43,630 --> 00:06:47,390 Belə ki, başqa bir sual siz ola bilər Mən Uzaqgörən edirəm idi istədi? 138 00:06:47,390 --> 00:06:48,630 Cavab yes deyil. 139 00:06:48,630 --> 00:06:52,060 Viktorina əvvəl bölməsində, mən soruşdum Sizlərin Sterlinq həm kod və 140 00:06:52,060 --> 00:06:52,980 səkkiz i üçün. 141 00:06:52,980 --> 00:06:54,770 İkisi də baş viktorina görünür. 142 00:06:54,770 --> 00:06:57,510 Belə ki, ümid edirəm ki, siz ödənilmiş ki, diqqət. 143 00:06:57,510 --> 00:07:02,520 >> Idi, onda siz olardı yəqin ki, o iki yaxşı. 144 00:07:02,520 --> 00:07:06,030 Amma səkkiz i üçün, biz həqiqətən kodu Bu sinif, lakin bu, təkrar 145 00:07:06,030 --> 00:07:07,500 viktorina istədi. 146 00:07:07,500 --> 00:07:13,270 Belə ki, almaq şeyi bir neçə i səkkiz kodlaşdırma zaman qeyd. 147 00:07:13,270 --> 00:07:17,320 Ilk şey, sual başına idi yoxlamaq üçün lazım ki, əgər string 148 00:07:17,320 --> 00:07:20,300 null bərabər idi. 149 00:07:20,300 --> 00:07:28,060 >> Bir neçə adam sonra yoxlamaq üçün çalışdı Proqramda s əgər bracket i idi - 150 00:07:28,060 --> 00:07:30,940 ki, belə bir xüsusi xarakter string - null bərabər olmuşdur. 151 00:07:30,940 --> 00:07:35,600 Amma null mahiyyətcə, unutmayın - bu düşünmək yaxşı 152 00:07:35,600 --> 00:07:39,100 sıfır göstərici kimi null - sıfır bir göstərici - 153 00:07:39,100 --> 00:07:40,920 yaddaşında yerde yerləşir daxil bilməz. 154 00:07:40,920 --> 00:07:44,730 >> Belə ki, əgər bir şey, null bərabərdir bu başlatılmadı deyil bilirik ki, 155 00:07:44,730 --> 00:07:46,430 və ya orada heç bir şey yoxdur. 156 00:07:46,430 --> 00:07:50,950 Belə ki, s, bir char ulduz S bracket i char. 157 00:07:50,950 --> 00:07:57,410 Belə ki, null s müqayisə anlamlı lakin s bracket i null. 158 00:07:57,410 --> 00:07:59,390 Amma yenə - belə ki, ilk şey idi Siz idi ki, - 159 00:07:59,390 --> 00:08:03,510 əmin olun siz həqiqətən bir real simli var. 160 00:08:03,510 --> 00:08:08,020 >> Next, siz vasitəsilə getmək istədi simli hər bir xarakter. 161 00:08:08,020 --> 00:08:12,500 Və belə ki, bir s bracket kimi olacaq i, misal üçün, i sizin iterator edir. 162 00:08:12,500 --> 00:08:17,250 Və xarakter almaq, və onun faktiki dəyər almaq. 163 00:08:17,250 --> 00:08:21,800 Siz bir char kimi saxlanılır, lakin sıfır üçün ASCII dəyəri - 164 00:08:21,800 --> 00:08:23,010 bir xarakter kimi sıfır - 165 00:08:23,010 --> 00:08:25,450 əslində tam sıfır deyil. 166 00:08:25,450 --> 00:08:28,700 Bu siz ki, bəzi digər sayda var ASCII masa bakma. 167 00:08:28,700 --> 00:08:30,790 >> Belə bir yolu düzəltmək üçün - düzəltmək üçün yəqin ki, ən yaxşı yol 168 00:08:30,790 --> 00:08:33,760 ki, - bu çıxmaq edir karakter dəyəri - 169 00:08:33,760 --> 00:08:35,140 bir xarakter kimi sıfır. 170 00:08:35,140 --> 00:08:38,490 Belə ki, minus bir quote, sıfır, başqa bir quote. 171 00:08:38,490 --> 00:08:44,620 Yəni siz nə nömrəsi olacaq bir char kimi və bərabər almaq 172 00:08:44,620 --> 00:08:46,720 faktiki tam kimi sayı. 173 00:08:46,720 --> 00:08:50,300 >> Və bu yanaşma çox oxşardır insanların bir çox aldı 174 00:08:50,300 --> 00:08:52,800 problem Sezar ilə, set 2 və Viginere - 175 00:08:52,800 --> 00:08:55,160 o ciphers, zaman onlara fırlanan edilmişdir. 176 00:08:55,160 --> 00:08:59,210 Siz bir sıra kimi belə sonra sıfır doqquz, sonra - asılı olaraq 177 00:08:59,210 --> 00:09:02,750 Bu son sayında gedir harada - Siz çoxaltmaq lazımdır 178 00:09:02,750 --> 00:09:04,120 10 bir güc tərəfindən. 179 00:09:04,120 --> 00:09:07,340 >> Bəzi insanlar üçün geri köçürülüb ön və fərdi vurulur 180 00:09:07,340 --> 00:09:08,940 10 bir güc tərəfindən nömrəsi. 181 00:09:08,940 --> 00:09:11,160 Bəzi insanlar köçürülüb geri ön - 182 00:09:11,160 --> 00:09:14,430 və ən yüksək aldı ilk nömrələri sifariş - 183 00:09:14,430 --> 00:09:18,190 və bu saxlamaq olardı qlobal counter dəyişən. 184 00:09:18,190 --> 00:09:20,880 Və sonra vasitəsilə hər dəfə loop, çoxaltmaq ki, dünya nəhəngi 185 00:09:20,880 --> 00:09:25,640 etmək üçün 10 dəyişən counter növbəti char üçün yer. 186 00:09:25,640 --> 00:09:28,750 >> Belə ki, bir az çaşdırıcı idi Mənə board onu yazılı. 187 00:09:28,750 --> 00:09:31,550 Amma nümunə həll sizin üçün mövcuddur. 188 00:09:31,550 --> 00:09:32,870 Lakin həmin böyük şeylər idi biz aradığınız. 189 00:09:32,870 --> 00:09:36,400 Həmçinin əmin hər etmək üçün bir çek fərdi xarakter həqiqətən idi 190 00:09:36,400 --> 00:09:39,780 sıfır və doqquz, və arasında xarakter A kimi bəzi digər xarakterli, 191 00:09:39,780 --> 00:09:41,160 məsələn. 192 00:09:41,160 --> 00:09:43,150 >> O biz aradığınız şeylər idi ki, söz mövzusu. 193 00:09:43,150 --> 00:09:46,510 194 00:09:46,510 --> 00:09:47,980 Ki, sual cavab verirmi? 195 00:09:47,980 --> 00:09:49,320 >> OMPICA: Bəli. 196 00:09:49,320 --> 00:09:50,240 >> JASON Hirschhorn: OK. 197 00:09:50,240 --> 00:09:53,940 Hər hansı digər suallar var Quiz 0 haqqında? 198 00:09:53,940 --> 00:09:55,440 Nə tərtib haqqında? 199 00:09:55,440 --> 00:09:56,740 Hər kəs doğru tərtib? 200 00:09:56,740 --> 00:09:58,370 No 201 00:09:58,370 --> 00:09:58,840 Bir var idi - 202 00:09:58,840 --> 00:10:01,010 [Gülür] 203 00:10:01,010 --> 00:10:03,265 Haqqında hər hansı bir sualınız tərtibi prosesi? 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 >> [Kağız xışıltı] 207 00:10:11,090 --> 00:10:11,520 >> JASON Hirschhorn: Bəli. 208 00:10:11,520 --> 00:10:11,700 Michael. 209 00:10:11,700 --> 00:10:14,140 >> MICHAEL: - təsadüfi sayı 7 mı? 210 00:10:14,140 --> 00:10:16,500 >> JASON Hirschhorn: sayı 7. 211 00:10:16,500 --> 00:10:20,670 Sayı 7 təsadüfi tam almaq idi. 212 00:10:20,670 --> 00:10:21,110 Əla. 213 00:10:21,110 --> 00:10:25,630 Belə ki, bir tam bir və edirik tam b, və bir təsadüfi istəyirəm 214 00:10:25,630 --> 00:10:28,710 a və b arasında tam. 215 00:10:28,710 --> 00:10:31,740 Biz, həqiqətən, bu barədə yaza bilərsiniz board, çünki bu bir 216 00:10:31,740 --> 00:10:33,320 kodu bir line idi - 217 00:10:33,320 --> 00:10:34,390 bunu etmək üçün bir yol. 218 00:10:34,390 --> 00:10:37,810 >> Beləliklə, biz bir kimi drand sunulur funksiyası istifadə edə bilər. 219 00:10:37,810 --> 00:10:38,820 Və nə drand etmir - 220 00:10:38,820 --> 00:10:40,290 Bu seeded edilmişdir fərz - 221 00:10:40,290 --> 00:10:42,316 nə qayıtmaq drand edir? 222 00:10:42,316 --> 00:10:44,840 >> MICHAEL: 0.0 ilə 1.0 arasındakı A float. 223 00:10:44,840 --> 00:10:45,530 >> JASON Hirschhorn: A nömrəsi - Bəli. 224 00:10:45,530 --> 00:10:47,910 0 və 1 arasında bir sıra. 225 00:10:47,910 --> 00:10:51,760 Və belə ki, biz b və bir var. 226 00:10:51,760 --> 00:10:55,480 Və sonra biz təsadüfi sıra 0 və 1 arasında drand bizə verdiyi. 227 00:10:55,480 --> 00:11:01,480 228 00:11:01,480 --> 00:11:06,630 Bəzi insanlar b qoymaq üçün cəhd, və ya b minus içəridə bir, və ya bir şey 229 00:11:06,630 --> 00:11:07,960 parantez. 230 00:11:07,960 --> 00:11:11,210 Yəni onlar o deməkdir ki, Bu funksiya arqumentlər. 231 00:11:11,210 --> 00:11:13,450 >> drand hansı arqumentlər etmir - getString nə kimi 232 00:11:13,450 --> 00:11:14,330 hansı arqumentlər deyil. 233 00:11:14,330 --> 00:11:16,600 Belə ki, yaxın, yalnız açıq paren var paren - və ki, özü deyil, 234 00:11:16,600 --> 00:11:17,330 funksiyası zəng. 235 00:11:17,330 --> 00:11:19,770 Və bir sıra verir 0 və 1 arasında. 236 00:11:19,770 --> 00:11:22,820 Əlbəttə ki, biz bir sıra var ədəd daxil ola bilər ki, 237 00:11:22,820 --> 00:11:28,470 >> B 10 və 5 əgər, biz, həqiqətən, demək 5 bir sıra ilə bir sıra istəyirəm. 238 00:11:28,470 --> 00:11:36,940 Beləliklə, biz nə etmək lazımdır növbəti şey sıra b minus a bu çoxaltmaq. 239 00:11:36,940 --> 00:11:40,380 Belə ki vurulur var hərfinin. 240 00:11:40,380 --> 00:11:42,590 Və bizə bir sıra verəcəyik bir sıra daxilində. 241 00:11:42,590 --> 00:11:46,610 Və xüsusi sıra olan b minus a arasındakı fərq. 242 00:11:46,610 --> 00:11:50,030 >> Və nəhayət, yalnız onu vermək lazımdır - b minus a arasında üçündür demək 243 00:11:50,030 --> 00:11:52,520 5, bizə bir verəcəyik olunur 0-dan 5 nömrəsi. 244 00:11:52,520 --> 00:11:56,000 Bir fakt 5 olsa, biz artırmaq lazımdır bu olduğu üçün bu sıra up 245 00:11:56,000 --> 00:12:01,380 əslində bir əlavə, ehtimal. 246 00:12:01,380 --> 00:12:02,580 Belə ki, məntiq hüququ əldə edir. 247 00:12:02,580 --> 00:12:03,745 Və sonra, siz var ki, başqa bir sual? 248 00:12:03,745 --> 00:12:04,547 >> MICHAEL: Xeyr 249 00:12:04,547 --> 00:12:06,010 Mən yalnız indi həqiqətən lal hiss. 250 00:12:06,010 --> 00:12:06,405 [Gülür] 251 00:12:06,405 --> 00:12:06,730 >> JASON Hirschhorn: Xeyr 252 00:12:06,730 --> 00:12:08,640 Həqiqətən lal hiss etməyin. 253 00:12:08,640 --> 00:12:10,560 Bir sıra insanlar mübarizə Bu məsələ ilə. 254 00:12:10,560 --> 00:12:13,920 Və sonra, digər sual, drand, Siz dedi bir float verir - 255 00:12:13,920 --> 00:12:14,940 bir float qaytarır. 256 00:12:14,940 --> 00:12:18,020 Amma bu funksiyası həqiqətən istədi bir tam geri etmək üçün. 257 00:12:18,020 --> 00:12:23,700 >> Siz açıq-aşkar bu salmaq lazım deyil bir tam, bu, çünki 258 00:12:23,700 --> 00:12:29,090 əməliyyatları bütün a kimi müalicə edəcək float - bir üzən point sayı. 259 00:12:29,090 --> 00:12:31,570 Bu iradə kimi - hətta bu halda bir tam, bu iradə 260 00:12:31,570 --> 00:12:32,890 doğru vurulur. 261 00:12:32,890 --> 00:12:34,000 Bütün vurma işləyəcək. 262 00:12:34,000 --> 00:12:35,060 Siz burada salmaq lazım deyil. 263 00:12:35,060 --> 00:12:36,480 Əslində, siz onu tökmə olmamalıdır. 264 00:12:36,480 --> 00:12:37,310 >> Yəni ki - 265 00:12:37,310 --> 00:12:40,750 Bir sıra tökmə əgər ki, 0 və 1 arasında var - 266 00:12:40,750 --> 00:12:42,680 bir təsadüfi sayı bir üzən point - 267 00:12:42,680 --> 00:12:47,850 o zaman da belə, yalnız 0 və ya 1 olacaq ki, dəqiq bütün itirmək lazımdır. 268 00:12:47,850 --> 00:12:50,120 Amma sonunda, siz geri zaman, avtomatik olaraq alır 269 00:12:50,120 --> 00:12:51,620 bir tam kimi geri göndərdi. 270 00:12:51,620 --> 00:12:56,870 Beləliklə, siz nə etmək lazım deyil ki, özünüzü tökmə. 271 00:12:56,870 --> 00:13:00,810 >> Belə ki, bu cavab idi ki, sual, sayı 7. 272 00:13:00,810 --> 00:13:02,190 Quiz 0 hər hansı digər suallar? 273 00:13:02,190 --> 00:13:03,300 Bəli, Annie. 274 00:13:03,300 --> 00:13:05,050 >> ANNIE: biz recursive istifadə edirsiniz - 275 00:13:05,050 --> 00:13:07,850 zaman biz iterative loops istifadə edirsiniz? 276 00:13:07,850 --> 00:13:10,210 >> JASON Hirschhorn: zaman istifadə edirsiniz recursive - daha çox ümumiyyətlə, 277 00:13:10,210 --> 00:13:14,110 recursion qarşı Pros və Eksiler tskrar yanaşma. 278 00:13:14,110 --> 00:13:17,110 Heç bir pro və ya bir con təklif edə bilər? 279 00:13:17,110 --> 00:13:19,460 Xahiş edirik? 280 00:13:19,460 --> 00:13:20,140 Heç bilməz. 281 00:13:20,140 --> 00:13:22,526 Kim bir pro və ya bir con təklif edə bilər? 282 00:13:22,526 --> 00:13:26,963 >> [Kağız xışıltı] 283 00:13:26,963 --> 00:13:29,730 >> TƏLƏBƏ 1: Recursive az kodlaşdırma - az yazaraq? 284 00:13:29,730 --> 00:13:33,170 >> JASON Hirschhorn: Belə ki, ümumiyyətlə, recursion xüsusilə, bir funksiyası - 285 00:13:33,170 --> 00:13:35,750 və ya birləşmə kimi alqoritm sort - hansı özü verir 286 00:13:35,750 --> 00:13:37,300 bir recursive yanaşma - 287 00:13:37,300 --> 00:13:40,710 daha sadə ola bilər recursively kod. 288 00:13:40,710 --> 00:13:43,940 Və daha çox mənada recursively bunu. 289 00:13:43,940 --> 00:13:46,230 Belə ki, recursion bir pro olacaq. 290 00:13:46,230 --> 00:13:46,610 Digər? 291 00:13:46,610 --> 00:13:47,467 Bəli? 292 00:13:47,467 --> 00:13:49,240 >> STUDENT 2: recursion Con - 293 00:13:49,240 --> 00:13:50,940 Daha çox yaddaş istifadə edir. 294 00:13:50,940 --> 00:13:52,200 >> JASON Hirschhorn: Belə ki, məhz sağ. 295 00:13:52,200 --> 00:13:55,720 A recursive funksiyası əlavə davam edəcək yığını yığını çərçivəsində. 296 00:13:55,720 --> 00:13:59,690 Siz bir çox fəaliyyət edirik ki, əgər nömrələri, və bu zəng etmək 297 00:13:59,690 --> 00:14:02,560 bir çox fəaliyyət, o zaman əlbəttə olacaq isə, daha çox yaddaş tutur 298 00:14:02,560 --> 00:14:05,810 tskrar yanaşma yalnız bir qoyacaq , yığını çərçivəsində yığını çünki 299 00:14:05,810 --> 00:14:08,420 bütün bir funksiyası çərçivəsində olur. 300 00:14:08,420 --> 00:14:11,010 >> Hər hansı digər lehte ve eksiklikleri? 301 00:14:11,010 --> 00:14:11,500 Bəli. 302 00:14:11,500 --> 00:14:12,550 >> STUDENT 3: recursion üçün Pros. 303 00:14:12,550 --> 00:14:15,950 Siz müəyyən yoxdur inkişaf neçə dəfə 304 00:14:15,950 --> 00:14:17,660 kodu təkrar etmək. 305 00:14:17,660 --> 00:14:22,810 Siz müəyyən bir sıra ola bilər Əgər təkrarlamaq lazımdır ki dəfə 306 00:14:22,810 --> 00:14:26,420 recursion, daha yaxşıdır, çünki ki, nəticə edir. 307 00:14:26,420 --> 00:14:27,780 >> JASON Hirschhorn: Mən doğru olduğunu düşünürəm. 308 00:14:27,780 --> 00:14:30,770 Amma hər iki halda hesab edirəm ki, Siz heç vaxt - 309 00:14:30,770 --> 00:14:33,290 yəqin ki, bəzi almaq olardı istifadəçi daxil. 310 00:14:33,290 --> 00:14:35,990 Və ya bu funksiya bəzi daxil olardı ki, müəyyən necə bir çox dəfə 311 00:14:35,990 --> 00:14:36,730 run lazımdır. 312 00:14:36,730 --> 00:14:39,520 Belə ki, ümumiyyətlə, siz ağır kodu verməyəcəklərini - hətta bir yanaşma iterativ - necə 313 00:14:39,520 --> 00:14:40,940 çox dəfə loop run lazımdır. 314 00:14:40,940 --> 00:14:46,100 315 00:14:46,100 --> 00:14:48,670 >> Siz idi digər var mı Annie, düşünür? 316 00:14:48,670 --> 00:14:49,330 OK. 317 00:14:49,330 --> 00:14:51,650 Belə ki, o yəqin ki, iki - 318 00:14:51,650 --> 00:14:54,370 ən böyük pro və ən böyük qarşı bir recursive üçün con 319 00:14:54,370 --> 00:14:57,080 tskrar yanaşma. 320 00:14:57,080 --> 00:14:57,690 OK. 321 00:14:57,690 --> 00:14:59,465 Quiz 0 başqa bir şey? 322 00:14:59,465 --> 00:15:08,940 323 00:15:08,940 --> 00:15:09,920 >> Üzrə hərəkət edək. 324 00:15:09,920 --> 00:15:15,260 Fayl I / O. Gözəl qısa var Bu həftə fayl I / O ümid edirəm 325 00:15:15,260 --> 00:15:19,270 Siz çox seyr etdik dəfə, və heyran. 326 00:15:19,270 --> 00:15:22,910 Iş bir çox ki, daxil getdi və mən var Bu insanely faydalı eşitdim. 327 00:15:22,910 --> 00:15:25,740 Mən də, bu slide linki daxil halda idi bir 328 00:15:25,740 --> 00:15:29,160 bunu 10 dəfə izləmək şansı. 329 00:15:29,160 --> 00:15:35,280 >> Belə ki, biz qısa üzərində getmək üçün gedir açılması və iş üçün böyük tədbirlər 330 00:15:35,280 --> 00:15:38,400 faylları, və sonra biz gedir əvvəl bir kodlaşdırma problem dalış 331 00:15:38,400 --> 00:15:40,400 Bu problem set araşdıraraq. 332 00:15:40,400 --> 00:15:44,330 Belə ki, yenə, mən bu qədər qoymaq gedirəm ekran, amma danışmaq üçün gedirəm 333 00:15:44,330 --> 00:15:47,630 biz istəyirik nə haqqında bir dəqiqə fayl ilə burada edirik I/O-- 334 00:15:47,630 --> 00:15:49,090 ki, nə deməkdir? 335 00:15:49,090 --> 00:15:55,280 >> Yəni biz yarada deməkdir bizim proqramları, və sonra proqramları var 336 00:15:55,280 --> 00:16:00,370 exit, və heç bir təsir etdik Bizim proqram dünya xaricində. 337 00:16:00,370 --> 00:16:04,630 Amma biz faylları ilə iş başlamaq zaman - həm də onları oxu və yaradılması 338 00:16:04,630 --> 00:16:10,460 onlara - biz bəzi təsir edə bilər Bizim proqram xaricində dünya. 339 00:16:10,460 --> 00:16:15,440 >> Just kimi Microsoft Word mümkün deyil, əgər sonra, hər hansı bir Word sənədləri etmək 340 00:16:15,440 --> 00:16:18,710 Microsoft Word, sizin bütün çıxmaq dəfə iş getdi ki, və bu ki, 341 00:16:18,710 --> 00:16:19,740 həqiqətən faydasız ola bilər. 342 00:16:19,740 --> 00:16:23,620 Biz nəticədə etmək istəyirəm təsir göstərə bilər ki, proqramları yazmaq 343 00:16:23,620 --> 00:16:31,350 onların ətrafında dünya, həm də alaraq faylları baxımından və - kompleks giriş 344 00:16:31,350 --> 00:16:37,080 faylları vasitəsilə, həmçinin maraqlı yaradılması və məcburedici nəticələri - 345 00:16:37,080 --> 00:16:39,520 faylları müxtəlif növ baxımından. 346 00:16:39,520 --> 00:16:43,730 >> Biz başlayır nə qədər ki, faylları ilə işləmək üçün necə öyrənmək. 347 00:16:43,730 --> 00:16:47,080 Daha konkret desək, nə biz aşağıdakı kimi edirik. 348 00:16:47,080 --> 00:16:47,680 Bu, çox sadə. 349 00:16:47,680 --> 00:16:51,530 Orada addımlar yalnız bir neçə və onlar bu kodu burada verilmişdir. 350 00:16:51,530 --> 00:16:55,130 Belə ki, biz vasitəsilə getmək olacaq xətti ilə bu kodu line. 351 00:16:55,130 --> 00:16:57,630 >> Birincisi, qeyd bax - 352 00:16:57,630 --> 00:17:01,330 bir fayl ilə iş, etdiyiniz zaman asılı olmayaraq fayl növü bu, 353 00:17:01,330 --> 00:17:02,670 Siz onu açmaq lazımdır. 354 00:17:02,670 --> 00:17:05,130 Və fopen zəng ilə - 355 00:17:05,130 --> 00:17:05,950 burada. 356 00:17:05,950 --> 00:17:07,980 Siz fayl adı daxildir. 357 00:17:07,980 --> 00:17:11,930 Fayl, sizin kataloq deyilsə və ya qovluq bu proqram 358 00:17:11,930 --> 00:17:15,910 həyatını, sonra da daxil etmək lazımdır ki, fayl olduğu üçün bir yol. 359 00:17:15,910 --> 00:17:19,099 >> Biz güman edirik ki, bu "text.txt" adlı fayl - 360 00:17:19,099 --> 00:17:24,220 bir sadə mətn sənəd - edir Bu proqram kimi eyni qovluq deyil. 361 00:17:24,220 --> 00:17:26,859 Belə ki, saxlamaq başqa bir şey mind - siz faylı açmaq istəyirsinizsə 362 00:17:26,859 --> 00:17:30,050 başqa bir yerdə, siz həqiqətən ehtiyac onun yeri daxil. 363 00:17:30,050 --> 00:17:33,520 >> İkincisi, siz bir dəlil keçə bilər fopen, və siz istədiyiniz nə var 364 00:17:33,520 --> 00:17:34,620 fayl ilə. 365 00:17:34,620 --> 00:17:38,450 Üç əsas arqumentlər var ki Siz fopen keçmək olacaq. 366 00:17:38,450 --> 00:17:40,060 Kim mənə o üç verə bilər? 367 00:17:40,060 --> 00:17:44,960 368 00:17:44,960 --> 00:17:47,130 Kim mənə onlardan biri verə bilər? 369 00:17:47,130 --> 00:17:48,130 Bəli. 370 00:17:48,130 --> 00:17:50,010 >> TƏLƏBƏ 4: Fayl adı? 371 00:17:50,010 --> 00:17:50,440 >> JASON Hirschhorn: Sorry. 372 00:17:50,440 --> 00:17:55,490 Keçə bilər üç əsas arqumentlər İkinci arqument fopen kimi. 373 00:17:55,490 --> 00:17:57,060 Haklýsýn - fayl adı ilk dəlildir. 374 00:17:57,060 --> 00:18:01,620 Amma fopen ikinci dəlil var adətən üç strings, və - bəli. 375 00:18:01,620 --> 00:18:02,210 Aleja. 376 00:18:02,210 --> 00:18:03,490 >> Aleja: a əlavə etmək üçün A. 377 00:18:03,490 --> 00:18:06,840 >> JASON Hirschhorn: A, siz istəyirsinizsə artıq mövcud olan bir fayl əlavə. 378 00:18:06,840 --> 00:18:07,810 >> TƏLƏBƏ 5: oxumaq üçün R. 379 00:18:07,810 --> 00:18:09,930 >> JASON Hirschhorn: R, əgər bir fayl oxumaq istəyirəm. 380 00:18:09,930 --> 00:18:10,670 >> TƏLƏBƏ 6: yazmaq üçün W. 381 00:18:10,670 --> 00:18:12,840 >> JASON Hirschhorn: Və w əgər bir fayl yazmaq istəyirəm. 382 00:18:12,840 --> 00:18:17,570 Belə ki, bu halda, biz yazılı edirik fayl, biz w var. 383 00:18:17,570 --> 00:18:22,360 Siz onu açmaq, siz də saxlamaq üçün var haradasa fayl, və ki var 384 00:18:22,360 --> 00:18:26,000 sol tərəfində kodu tapşırıq operator - 385 00:18:26,000 --> 00:18:31,220 Mən bir fayl üçün bir göstərici yaradılması alıram Bu halda, fayl çağırıb. 386 00:18:31,220 --> 00:18:36,070 >> Biz narahat etmək niyyətində deyil nə Bu bütün caps FILE şeydir. 387 00:18:36,070 --> 00:18:40,600 Demək kifayətdir ki, bu uzun adet sıfır və olanları stream. 388 00:18:40,600 --> 00:18:44,970 Və biz gedir necə fəaliyyət və onu anlamaq. 389 00:18:44,970 --> 00:18:47,300 >> Biz nə etmək lazımdır növbəti şey - və Bu olduqca vacibdir - 390 00:18:47,300 --> 00:18:49,070 Bir faylı açmaq zaman - 391 00:18:49,070 --> 00:18:54,250 Əslində, siz malloc zəng zaman, üçün Məsələn, bəzi yaddaş almaq və cəhd 392 00:18:54,250 --> 00:18:57,980 siz həmişə bir pointer saxlamaq əmin olun ki, yoxlamaq istəyirəm ki, 393 00:18:57,980 --> 00:19:00,230 funksiyası null dönmədi. 394 00:19:00,230 --> 00:19:05,230 >> Belə ki, bu halda, biz etmək yoxlanılması olunur Biz, həqiqətən, açılan əmin olun 395 00:19:05,230 --> 00:19:10,230 düzgün fayl, və var idi Bizim proqram heç bir səhv. 396 00:19:10,230 --> 00:19:15,160 Next, bir dəfə biz əmin işaretlediğinizden biz əlimizdən bir iş fayl var ki, 397 00:19:15,160 --> 00:19:18,520 , yazmaq, və ya oxumaq və ya fayl əlavə. 398 00:19:18,520 --> 00:19:24,270 Bu halda, mən sadəcə çap edirəm Bu fayl bir xətt. 399 00:19:24,270 --> 00:19:25,450 >> Necə ki, bilirik? 400 00:19:25,450 --> 00:19:27,990 Bəli, mən bu funksiyanı istifadə edirəm fprintf çağırıb. 401 00:19:27,990 --> 00:19:30,970 Istifadə olunacaq funksiyaları bütün , yazılı və ya, və ya oxuyarkən 402 00:19:30,970 --> 00:19:34,950 faylları manipulyasiya oxşar olacaq siz əvvəl görüldü etdik, ancaq funksiyaları 403 00:19:34,950 --> 00:19:38,420 F hərfi ilə başlamaq, fayl üçün daimi. 404 00:19:38,420 --> 00:19:43,440 Və fprintf, bizim normal çap fərqli app, bir əlavə mübahisə edir, 405 00:19:43,440 --> 00:19:47,800 və fayl olduğu bu xətt çap etmək istəyirəm. 406 00:19:47,800 --> 00:19:50,640 >> Mən heç bir şey yoxdur Ohai hüququ. 407 00:19:50,640 --> 00:19:52,860 Mən üçüncü yoxdur printf arqument - 408 00:19:52,860 --> 00:19:57,030 və ya ikinci arqument printf üçün, Üçüncü dəlil fprintf üçün, çünki mən 409 00:19:57,030 --> 00:19:59,480 burada hər hansı bir placeholders yoxdur. 410 00:19:59,480 --> 00:20:01,070 Mən heç bir dəyişənlərin deyiləm. 411 00:20:01,070 --> 00:20:06,070 Ancaq yenə də, fprintf və bu fayl bütün faylları ilə fəaliyyət funksiyaları 412 00:20:06,070 --> 00:20:09,820 ümumiyyətlə fayl lazımdır gedir olan onlar fəaliyyət edirik. 413 00:20:09,820 --> 00:20:15,960 >> Nəhayət, son mühüm şey nə kimi, faylı bağlamaq üçün 414 00:20:15,960 --> 00:20:19,530 ilə - biz bir şey malloc zaman, biz biz deyə bir şey pulsuz istəyirəm 415 00:20:19,530 --> 00:20:22,730 bir yaddaş sızıntısı var - biz istəyirik fayl yaxın. 416 00:20:22,730 --> 00:20:28,180 Bu proqram bağlanması olmadan ayrıldığı varsa fayl, odds bir şey getmək olardı var 417 00:20:28,180 --> 00:20:30,050 yanlış, xüsusilə də əgər bu kiçik bir fayl idi. 418 00:20:30,050 --> 00:20:35,020 >> Amma əlbəttə yaxşı coding stili və həmişə faylı bağlamaq təcrübə 419 00:20:35,020 --> 00:20:38,050 siz onu istifadə bittiğinde. 420 00:20:38,050 --> 00:20:43,630 Belə ki, fayl əsasları I / O. edir Siz yəqin ki, əvvəl görüldü, və ya sonra 421 00:20:43,630 --> 00:20:45,710 ki, fantastik qısa onu izlədi. 422 00:20:45,710 --> 00:20:48,410 Heç əvvəl, hər hansı bir sualınız varmı biz bəzi təcrübə kodlaşdırma daxil 423 00:20:48,410 --> 00:20:51,800 fayl haqqında problemləri, I / O və ya addımlar Mən artıq getdi? 424 00:20:51,800 --> 00:21:00,198 425 00:21:00,198 --> 00:21:03,162 >> [Yazaraq Sesler] 426 00:21:03,162 --> 00:21:04,150 >> JASON Hirschhorn: gəlirmi Bir sual, AVI var? 427 00:21:04,150 --> 00:21:04,660 >> AVI: Xeyr 428 00:21:04,660 --> 00:21:04,740 >> JASON Hirschhorn: OK. 429 00:21:04,740 --> 00:21:06,746 Mən başqa gözləmək gedirəm yeddi saniyə. 430 00:21:06,746 --> 00:21:07,590 [Gülür] 431 00:21:07,590 --> 00:21:08,620 Ki, həqiqətən yaxşı ipucu. 432 00:21:08,620 --> 00:21:10,750 Siz uşaqlar yalnız sevmirəm suallar. 433 00:21:10,750 --> 00:21:11,660 Ki, gözəl. 434 00:21:11,660 --> 00:21:12,330 OK. 435 00:21:12,330 --> 00:21:17,620 Belə ki, bizim ilk təcrübə problem biz deyil, funksiyası dublikat gedir 436 00:21:17,620 --> 00:21:22,330 bir command line vasitədir ki, yəqin ki, surəti - əvvəl istifadə - 437 00:21:22,330 --> 00:21:23,500 surəti vasitədir. 438 00:21:23,500 --> 00:21:28,050 Siz cp yazın və sonra keçir iki terminal dəlilləri, siz 439 00:21:28,050 --> 00:21:28,980 bir fayl surəti. 440 00:21:28,980 --> 00:21:31,220 Və biz gedir nə indi yazmaq üçün. 441 00:21:31,220 --> 00:21:35,830 >> Belə ki, yenə bu slayd off oxu, mən olsam Siz edir ki, bir proqram yazmaq 442 00:21:35,830 --> 00:21:38,130 iki və iki command-line yalnız arqumentləri - 443 00:21:38,130 --> 00:21:40,750 mənbə fayl və bir hedef fayl - 444 00:21:40,750 --> 00:21:44,590 və nüsxə mənbəyi məzmunu hedef fayl fayl 445 00:21:44,590 --> 00:21:46,960 bir-bir byte. 446 00:21:46,960 --> 00:21:48,510 Belə ki soruşmaq üçün bir çox var. 447 00:21:48,510 --> 00:21:52,200 >> Yenə də, bu yaxşı bir yanaşma deyil C kodu düz getmək deyil, 448 00:21:52,200 --> 00:21:54,280 addımlar bir neçə onu qırmaq. 449 00:21:54,280 --> 00:21:58,400 Birincisi, düşünmək məntiq - dəqiq nə mən bunu xahiş edirəm - 450 00:21:58,400 --> 00:22:00,620 və bütün anlamaq Bu problemin addımlar. 451 00:22:00,620 --> 00:22:04,410 Not C, yalnız bəzi pseudocode, və ya hətta bir ruhi model 452 00:22:04,410 --> 00:22:06,030 nə olacaq. 453 00:22:06,030 --> 00:22:10,050 >> Next, siz pseudocode aşağı bir dəfə, anlamaq necə pseudocode 454 00:22:10,050 --> 00:22:14,600 alətləri və biz etdik əşyalar üzərində xəritələr C. istifadə öyrəndim 455 00:22:14,600 --> 00:22:19,070 >> Və nəhayət, bir dəfə bütün var birlikdə, siz problem kod bilər. 456 00:22:19,070 --> 00:22:23,370 5 10 dəqiqə bu problem üzərində iş. 457 00:22:23,370 --> 00:22:25,800 Mən göstəriş qoymaq lazımdır geri ikinci up. 458 00:22:25,800 --> 00:22:27,990 Və sonra biz artıq getmək olacaq Bu pseudocode, və kodu 459 00:22:27,990 --> 00:22:29,230 bir qrup kimi yaşayır. 460 00:22:29,230 --> 00:22:31,640 >> Siz bile siz hər hansı bir sualınız varsa, Bu iş qaldırmaq çekinmeyin 461 00:22:31,640 --> 00:22:34,260 Sizin tərəfdən, və mən gələcək ətrafında və onlara cavab. 462 00:22:34,260 --> 00:22:37,020 463 00:22:37,020 --> 00:22:39,330 >> TƏLƏBƏ 7: I çalmak bilər kağız parçası? 464 00:22:39,330 --> 00:22:41,537 >> JASON Hirschhorn: Nə oldu? 465 00:22:41,537 --> 00:26:46,047 466 00:26:46,047 --> 00:26:48,043 >> [Yazaraq Sesler] 467 00:26:48,043 --> 00:26:48,730 >> JASON Hirschhorn: OK. 468 00:26:48,730 --> 00:26:51,710 Ilk pseudocode üzərində gedək, və sonra mən sizə bir neçə daha çox verəcəyik 469 00:26:51,710 --> 00:26:52,960 dəqiqə kodlaşdırma başa çatdırmaq üçün. 470 00:26:52,960 --> 00:26:55,540 471 00:26:55,540 --> 00:26:58,650 >> Kim mənə başlamaq istəyirəm ilk xətti ilə 472 00:26:58,650 --> 00:27:00,030 bu funksiya üçün pseudocode? 473 00:27:00,030 --> 00:27:03,330 474 00:27:03,330 --> 00:27:05,740 >> TƏLƏBƏ 8: əmin etmək yoxlayın Siz iki faylları verilmişdir. 475 00:27:05,740 --> 00:27:06,990 >> JASON Hirschhorn: OK. 476 00:27:06,990 --> 00:27:21,270 477 00:27:21,270 --> 00:27:22,990 Və biz deyilik, əgər? 478 00:27:22,990 --> 00:27:25,974 >> TƏLƏBƏ 8: I 0 qayıtmaq istəyirəm. 479 00:27:25,974 --> 00:27:27,872 >> JASON Hirschhorn: biz 0 qayıtmaq lazımdır? 480 00:27:27,872 --> 00:27:30,182 >> TƏLƏBƏ 8: a qayıt - 481 00:27:30,182 --> 00:27:30,650 blanking. 482 00:27:30,650 --> 00:27:30,850 Üzr istəyirik. 483 00:27:30,850 --> 00:27:31,210 >> JASON Hirschhorn: Bəli. 484 00:27:31,210 --> 00:27:32,710 Yəqin ki, deyil 0. 485 00:27:32,710 --> 00:27:34,680 0 hər şey yaxşı idi deməkdir. 486 00:27:34,680 --> 00:27:35,030 OK. 487 00:27:35,030 --> 00:27:36,730 Belə ki, ilk xətt var pseudocode. 488 00:27:36,730 --> 00:27:38,715 Kim pseudocode ikinci xətti var? 489 00:27:38,715 --> 00:27:40,630 >> TƏLƏBƏ 9: faylları həm Open? 490 00:27:40,630 --> 00:27:41,880 >> JASON Hirschhorn: həm faylları açın. 491 00:27:41,880 --> 00:27:49,970 492 00:27:49,970 --> 00:27:50,920 OK? 493 00:27:50,920 --> 00:27:52,850 >> STUDENT 10: yoxlayın fayl NULL əgər? 494 00:27:52,850 --> 00:28:10,906 495 00:28:10,906 --> 00:28:12,580 >> JASON Hirschhorn: olun əmin NULL var nə. 496 00:28:12,580 --> 00:28:15,800 Bir kənara kimi - 497 00:28:15,800 --> 00:28:17,540 0 zərbə - 498 00:28:17,540 --> 00:28:18,887 ki, NULL edir? 499 00:28:18,887 --> 00:28:20,080 >> STUDENT 11: Xeyr 500 00:28:20,080 --> 00:28:21,190 >> JASON Hirschhorn: Bu NULL deyil. 501 00:28:21,190 --> 00:28:23,400 Bu NULL terminator adlanır. 502 00:28:23,400 --> 00:28:25,580 Bu, həqiqətən, yalnız bir l ilə yazıldığına var. 503 00:28:25,580 --> 00:28:28,580 Belə ki, qarşı bir şey yoxlanılması - ki, əslində bir xarakter var - 504 00:28:28,580 --> 00:28:31,710 belə ki, qarşı bir şey yoxlanılması görmək yoxlanılması kimi eyni deyil, əgər 505 00:28:31,710 --> 00:28:32,690 NULL bərabərdir. 506 00:28:32,690 --> 00:28:34,100 >> Və bəzi insanlar - 507 00:28:34,100 --> 00:28:36,040 onların Quizzes və onların problemi ilə bağlı dəstləri - burada var 508 00:28:36,040 --> 00:28:36,890 səhv o iki. 509 00:28:36,890 --> 00:28:38,830 Amma o iki müxtəlif əslində. 510 00:28:38,830 --> 00:28:40,220 Bir string başa çatıb - 511 00:28:40,220 --> 00:28:43,210 bir 0 bir göstəricisidir. 512 00:28:43,210 --> 00:28:46,490 >> STUDENT 12: Niyə yoxlamaq olmaz faylları NULL deyil ki, əmin olun 513 00:28:46,490 --> 00:28:48,670 Əgər siz onları açmaq əvvəl? 514 00:28:48,670 --> 00:28:54,772 >> JASON Hirschhorn: Belə açıq saxlayır ki, fayl bir şey. 515 00:28:54,772 --> 00:28:57,780 Və burada geri getmək əgər - 516 00:28:57,780 --> 00:28:59,520 bu line - fopen - 517 00:28:59,520 --> 00:29:05,300 bir ünvanı və mağaza verəcək Bu işləri fayl ki ünvanı. 518 00:29:05,300 --> 00:29:07,650 Bu iş deyil, bu, NULL saxlamaq olacaq - 519 00:29:07,650 --> 00:29:08,020 >> STUDENT 12: Oh. 520 00:29:08,020 --> 00:29:08,180 OK. 521 00:29:08,180 --> 00:29:08,500 Siz var. 522 00:29:08,500 --> 00:29:09,050 >> JASON Hirschhorn: faylında. 523 00:29:09,050 --> 00:29:11,990 Beləliklə, siz NULL kontrol edə bilməz Əgər siz onları açdı etdik əvvəl. 524 00:29:11,990 --> 00:29:13,520 NULL bir şey vermədi deməkdir düzgün iş. 525 00:29:13,520 --> 00:29:18,030 526 00:29:18,030 --> 00:29:18,740 OK. 527 00:29:18,740 --> 00:29:22,590 Belə ki, əmin nə etmək yoxlamaq? 528 00:29:22,590 --> 00:29:23,200 Və ya? 529 00:29:23,200 --> 00:29:23,770 Biz nə düşünürsünüz? 530 00:29:23,770 --> 00:29:24,310 Biz ki, ilə getmək lazımdır. 531 00:29:24,310 --> 00:29:24,520 >> STUDENT 13: mı. 532 00:29:24,520 --> 00:29:25,020 >> JASON Hirschhorn: mı? 533 00:29:25,020 --> 00:29:25,930 Nə? 534 00:29:25,930 --> 00:29:26,350 >> STUDENT 13: mı. 535 00:29:26,350 --> 00:29:26,390 >> JASON Hirschhorn: OK. 536 00:29:26,390 --> 00:29:28,510 Biz bəzi görünür ki konsensus. 537 00:29:28,510 --> 00:29:30,520 NULL nə. 538 00:29:30,520 --> 00:29:32,250 OK, pseudocode növbəti line. 539 00:29:32,250 --> 00:29:33,600 Hələ mənə bir xətt verməyib? 540 00:29:33,600 --> 00:29:37,350 541 00:29:37,350 --> 00:29:38,295 Biz sizin üçün gözləyin. 542 00:29:38,295 --> 00:29:39,020 Bəli. 543 00:29:39,020 --> 00:29:40,895 >> STUDENT 14: Siz oxumaq lazımdır ilk fayl? 544 00:29:40,895 --> 00:29:42,290 >> JASON Hirschhorn: OK. 545 00:29:42,290 --> 00:29:46,240 >> STUDENT 14: Və ya biz fscanf istifadə və ya ilk fayl kimi bir şey? 546 00:29:46,240 --> 00:29:50,650 >> JASON Hirschhorn: Biz istəyirik ilk faylı oxumaq və - 547 00:29:50,650 --> 00:29:51,900 sağ burada qoymaq bildirin. 548 00:29:51,900 --> 00:30:00,600 549 00:30:00,600 --> 00:30:01,880 Mənbə faylı oxuyun. 550 00:30:01,880 --> 00:30:05,370 Və sonra, biz sonra nə etməliyəm mənbə faylı oxumaq? 551 00:30:05,370 --> 00:30:06,620 Başqası? 552 00:30:06,620 --> 00:30:09,150 553 00:30:09,150 --> 00:30:12,190 >> STUDENT 15: yaz daxil hedef fayl? 554 00:30:12,190 --> 00:30:22,080 555 00:30:22,080 --> 00:30:25,620 >> JASON Hirschhorn: Biz yazın hedef fayl, və - 556 00:30:25,620 --> 00:30:26,210 OK. 557 00:30:26,210 --> 00:30:30,030 Biz nə əskik? 558 00:30:30,030 --> 00:30:32,460 Mənə bir olmayan başqası hələ kodu xətt - pseudocode. 559 00:30:32,460 --> 00:30:33,510 Bəli. 560 00:30:33,510 --> 00:30:36,540 >> STUDENT 16: Bəlkə həmişə kontrol edə bilərsiniz olub oxumaq üçün bir şey var, 561 00:30:36,540 --> 00:30:37,970 növbəti line kimi? 562 00:30:37,970 --> 00:30:39,550 Növbəti line kimi ki, mövcud oldu. 563 00:30:39,550 --> 00:30:40,660 >> [ELECTRONIC BEEP] 564 00:30:40,660 --> 00:30:41,095 >> JASON Hirschhorn: Oops. 565 00:30:41,095 --> 00:30:43,120 Yəni mənim journaling proqram. 566 00:30:43,120 --> 00:30:43,580 Bəli? 567 00:30:43,580 --> 00:30:44,960 >> STUDENT 16: Bəli. 568 00:30:44,960 --> 00:30:48,940 >> JASON Hirschhorn: Belə vermək mənə bir dəfə daha. 569 00:30:48,940 --> 00:30:51,640 >> STUDENT 16: var yoxlayın Bu hələ növbəti line 570 00:30:51,640 --> 00:30:52,920 oxumaq üçün mənbə fayl. 571 00:30:52,920 --> 00:30:53,500 >> JASON Hirschhorn: OK. 572 00:30:53,500 --> 00:30:56,060 Beləliklə, biz xətləri oxu deyilik - burada bytes oxu - 573 00:30:56,060 --> 00:30:57,590 lakin doğru danışırsınızsa. 574 00:30:57,590 --> 00:31:00,040 Biz qədər oxumaq və yazmaq istəyirəm heç bir daha çox bytes var. 575 00:31:00,040 --> 00:31:11,430 576 00:31:11,430 --> 00:31:11,735 OK. 577 00:31:11,735 --> 00:31:16,940 Və bu həqiqətən indented olmalıdır bir bit, onlar orada altında istəyirik, çünki. 578 00:31:16,940 --> 00:31:17,470 Sağ? 579 00:31:17,470 --> 00:31:20,620 Biz bytes bitti qədər, biz olacaq mənbə faylı oxumaq və yazmaq 580 00:31:20,620 --> 00:31:22,160 hedef fayl. 581 00:31:22,160 --> 00:31:24,510 >> Və sonra, son nə pseudocode line? 582 00:31:24,510 --> 00:31:26,380 Verilmiş deyil kimsə Mənə bir şey yoxdur. 583 00:31:26,380 --> 00:31:29,270 584 00:31:29,270 --> 00:31:30,260 >> STUDENT 17: faylları bağlayın? 585 00:31:30,260 --> 00:31:31,510 >> JASON Hirschhorn: Exactly. 586 00:31:31,510 --> 00:31:36,370 587 00:31:36,370 --> 00:31:37,450 Faylları bağlayın. 588 00:31:37,450 --> 00:31:38,400 Belə ki, bizim pseudocode var. 589 00:31:38,400 --> 00:31:41,870 Mən daxil pseudocode qoymaq gedirəm gedit, və bir neçə dəqiqə biz 590 00:31:41,870 --> 00:31:44,626 birlikdə bu kod olacaq. 591 00:31:44,626 --> 00:33:55,280 592 00:33:55,280 --> 00:33:56,000 >> OK. 593 00:33:56,000 --> 00:33:58,290 Bizə bir qrup kimi başlamaq bildirin. 594 00:33:58,290 --> 00:33:59,940 Nishant, mən yeni fayl var. 595 00:33:59,940 --> 00:34:01,130 Mən yalnız bu qədər açdı etdik. 596 00:34:01,130 --> 00:34:01,880 Untitled sənəd 1. 597 00:34:01,880 --> 00:34:05,490 Mən nə lazımdır ilk şey nədir? 598 00:34:05,490 --> 00:34:07,040 >> Nishant: kitabxana əlavə? 599 00:34:07,040 --> 00:34:08,219 >> JASON Hirschhorn: OK. 600 00:34:08,219 --> 00:34:11,070 Nə kitabxana? 601 00:34:11,070 --> 00:34:17,570 >> Nishant: stdio.h, stdlib.h inanıram? 602 00:34:17,570 --> 00:34:18,000 >> JASON Hirschhorn: OK. 603 00:34:18,000 --> 00:34:21,592 Üçün stdlib nədir? 604 00:34:21,592 --> 00:34:23,010 >> Nishant: I unuttum. 605 00:34:23,010 --> 00:34:23,219 >> JASON Hirschhorn: OK. 606 00:34:23,219 --> 00:34:24,179 Belə ki, stdio daxildir. 607 00:34:24,179 --> 00:34:28,630 Mən hətta əvvəl nə etməliyəm Mən kodlaşdırma başlamaq? 608 00:34:28,630 --> 00:34:29,710 >> Nishant: bir mövzu yaz? 609 00:34:29,710 --> 00:34:31,830 >> JASON Hirschhorn necə rəngli I Qiy 610 00:34:31,830 --> 00:34:34,060 >> [Interposing SƏSLƏRİ] 611 00:34:34,060 --> 00:34:35,040 >> Nishant: Necə rəngli alıram? 612 00:34:35,040 --> 00:34:38,060 >> JASON Hirschhorn necə Mən kodlaşdırma rəng edirsiniz? 613 00:34:38,060 --> 00:34:38,570 >> Nishant: Bilmirəm. 614 00:34:38,570 --> 00:34:38,830 Oh. 615 00:34:38,830 --> 00:34:39,389 Edin. 616 00:34:39,389 --> 00:34:39,929 >> JASON Hirschhorn: edin. 617 00:34:39,929 --> 00:34:40,270 Bəli. 618 00:34:40,270 --> 00:34:41,760 Mən. C kimi saxlamaq lazımdır. 619 00:34:41,760 --> 00:34:46,239 Belə ki, cp.c. kimi masaüstünüzden qeyd edin 620 00:34:46,239 --> 00:34:47,280 Sweet. 621 00:34:47,280 --> 00:34:51,199 Və mən tam stil almaq istəyirsinizsə bal, nə olmalıdır mən 622 00:34:51,199 --> 00:34:53,085 üst daxildir? 623 00:34:53,085 --> 00:34:58,390 >> Nishant: Siz adı, adı yazmaq bilər proqram, və məqsədi 624 00:34:58,390 --> 00:34:59,640 eləcə də proqramın? 625 00:34:59,640 --> 00:35:08,400 626 00:35:08,400 --> 00:35:10,040 >> JASON Hirschhorn: yaxşı görünür. 627 00:35:10,040 --> 00:35:10,470 Əla. 628 00:35:10,470 --> 00:35:12,940 Belə ki, bizi off açılmış etdik. 629 00:35:12,940 --> 00:35:13,720 # Daxildir - 630 00:35:13,720 --> 00:35:15,365 biz də yazmaq lazımdır - 631 00:35:15,365 --> 00:35:30,050 632 00:35:30,050 --> 00:35:30,870 OK. 633 00:35:30,870 --> 00:35:33,520 Mən bütün getmək üçün müəyyən edirəm. 634 00:35:33,520 --> 00:35:38,003 Kim mənim üçün kodu ilk xətt var - və kodu ilk xətləri ki, 635 00:35:38,003 --> 00:35:41,280 bu, bizim ilk təmin edəcək pseudocode şərh? 636 00:35:41,280 --> 00:35:41,985 Siz. 637 00:35:41,985 --> 00:35:48,780 >> STUDENT 18: Bu int olmamalıdır argc, sonra char * argv? 638 00:35:48,780 --> 00:35:49,490 >> JASON Hirschhorn: düşünürəm haklýsýn. 639 00:35:49,490 --> 00:35:56,270 Nin əsas, açıq paren int dəyişdirmək edək, int argc, vergül, char * argv? 640 00:35:56,270 --> 00:35:57,150 Ki, kimi? 641 00:35:57,150 --> 00:35:57,410 >> STUDENT 18: Brackets. 642 00:35:57,410 --> 00:35:58,260 >> JASON Hirschhorn: Brackets. 643 00:35:58,260 --> 00:35:59,860 Open bracket, yaxın bracket, yaxın valideyn. 644 00:35:59,860 --> 00:36:00,240 Perfect. 645 00:36:00,240 --> 00:36:02,160 İndi komanda-line dəlilləri bilər. 646 00:36:02,160 --> 00:36:02,430 OK. 647 00:36:02,430 --> 00:36:04,250 Biz iki faylları sunulur olun. 648 00:36:04,250 --> 00:36:07,905 Siz həmçinin mənə verə bilər. 649 00:36:07,905 --> 00:36:09,180 >> STUDENT 18: argc varsa - 650 00:36:09,180 --> 00:36:11,060 bu bir 3 bərabər deyil. 651 00:36:11,060 --> 00:36:14,360 >> JASON Hirschhorn: Əgər açıq paren 3 argc bərabər deyil? 652 00:36:14,360 --> 00:36:16,970 >> STUDENT 18: Bəli, siz qayıtmaq 1 və ya bir şey. 653 00:36:16,970 --> 00:36:17,460 >> JASON Hirschhorn: Sorry. 654 00:36:17,460 --> 00:36:19,120 >> STUDENT 18: Return 1 və ya bir şey. 655 00:36:19,120 --> 00:36:20,270 >> JASON Hirschhorn: 1 qayıt. 656 00:36:20,270 --> 00:36:22,230 OK? 657 00:36:22,230 --> 00:36:22,970 Böyük. 658 00:36:22,970 --> 00:36:24,290 Həm faylları açın. 659 00:36:24,290 --> 00:36:26,160 Kim mənə iki faylları açmaq kömək edə bilər? 660 00:36:26,160 --> 00:36:28,125 Hələ mənə kodu verilir deyil? 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: Belə ki, bütün caps F-I-L-E star mənbə. 664 00:36:36,145 --> 00:36:39,390 665 00:36:39,390 --> 00:36:40,920 >> JASON Hirschhorn: Mən gedirəm sait almaq üçün. 666 00:36:40,920 --> 00:36:41,570 Həmin sərin var. 667 00:36:41,570 --> 00:36:42,716 Bu Tumblr kimi. 668 00:36:42,716 --> 00:36:44,610 >> STUDENT 18: fopen Bərabər - 669 00:36:44,610 --> 00:36:46,612 >> JASON Hirschhorn: fopen Bərabər? 670 00:36:46,612 --> 00:36:49,870 >> STUDENT 18: Open paren, argv, açıq bracket. 671 00:36:49,870 --> 00:36:50,055 >> JASON Hirschhorn: gözləyin. 672 00:36:50,055 --> 00:36:50,240 Üzr istəyirik. 673 00:36:50,240 --> 00:36:51,050 Open paren. 674 00:36:51,050 --> 00:36:51,456 OK. 675 00:36:51,456 --> 00:36:53,080 >> STUDENT 18: Bəli. 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: Bəli. 679 00:36:56,140 --> 00:36:58,540 Argv açıq bracket 1 - 680 00:36:58,540 --> 00:36:59,730 bəli. 681 00:36:59,730 --> 00:37:06,470 Və sonra vergül, sonra açıq ikiqat quote, r, ikiqat quote, 682 00:37:06,470 --> 00:37:08,250 yaxın paren, nöqtəli vergül. 683 00:37:08,250 --> 00:37:09,450 >> JASON Hirschhorn: Sweet. 684 00:37:09,450 --> 00:37:10,950 Və nə digər biri haqqında? 685 00:37:10,950 --> 00:37:16,030 >> STUDENT 18: çox oxşar, lakin əvəzinə S-R-C, D-S-T zəng ediyorum. 686 00:37:16,030 --> 00:37:17,060 >> JASON Hirschhorn: OO! 687 00:37:17,060 --> 00:37:17,772 Mən ki, istəyirəm. 688 00:37:17,772 --> 00:37:20,010 >> STUDENT 18: Just D-S-T. Bəli. 689 00:37:20,010 --> 00:37:23,057 Və sonra, 2 açıq bracket argv. 690 00:37:23,057 --> 00:37:23,200 Bəli. 691 00:37:23,200 --> 00:37:26,720 Və sonra w əvəzinə r. 692 00:37:26,720 --> 00:37:27,620 Bəli. 693 00:37:27,620 --> 00:37:29,630 >> JASON Hirschhorn: Great. 694 00:37:29,630 --> 00:37:31,360 Xətləri Next neçə. 695 00:37:31,360 --> 00:37:34,040 Həmçinin, heç əlavə etmək şeyi var biz etdik ki, xətləri, çekinmeyin 696 00:37:34,040 --> 00:37:35,690 eləcə də həmin əlavə edin. 697 00:37:35,690 --> 00:37:37,520 Əmin nə NULL etmək yoxlayın. 698 00:37:37,520 --> 00:37:41,450 Kim mənə lazım olan kodu verə bilər pseudocode ki line təmin? 699 00:37:41,450 --> 00:37:44,430 700 00:37:44,430 --> 00:37:45,870 Archer. 701 00:37:45,870 --> 00:37:58,645 >> ARCHER: src bərabərdir bərabərdir varsa NULL və ya DST bərabərdir bərabərdir 702 00:37:58,645 --> 00:38:04,590 NULL, sonra geri - 703 00:38:04,590 --> 00:38:07,130 704 00:38:07,130 --> 00:38:07,976 >> JASON Hirschhorn: Nə? 705 00:38:07,976 --> 00:38:08,890 >> ARCHER: 2 qayıt? 706 00:38:08,890 --> 00:38:09,760 >> JASON Hirschhorn: 2 qayıt. 707 00:38:09,760 --> 00:38:14,400 Belə ki, açıq paren src bərabərdir əgər NULL bərabərdir, və ya - 708 00:38:14,400 --> 00:38:15,590 ki thing's nə - boru? 709 00:38:15,590 --> 00:38:16,346 Boru? 710 00:38:16,346 --> 00:38:17,140 Biz boru zəng edəcəyik. 711 00:38:17,140 --> 00:38:22,340 Boru, boru, DST bərabərdir bərabərdir NULL, 2 qayıtmaq. 712 00:38:22,340 --> 00:38:23,900 OK? 713 00:38:23,900 --> 00:38:26,060 Biz bytes bitti qədər - 714 00:38:26,060 --> 00:38:29,820 biz növ bu addım üzərində atlandı burada gediş pseudocode hissəsidir. 715 00:38:29,820 --> 00:38:31,970 >> Amma qədər biz bytes bitti - ki, səs kimi nə edir? 716 00:38:31,970 --> 00:38:34,680 C hansı növ struktur - 717 00:38:34,680 --> 00:38:36,160 amma söz strukturu istifadə etməyin, biz istifadə edərək başlamaq üçün olacaq, çünki 718 00:38:36,160 --> 00:38:37,350 digər hallarda - 719 00:38:37,350 --> 00:38:39,495 lakin C alət kimi ki, səs edir? 720 00:38:39,495 --> 00:38:39,970 >> STUDENT 19: A loop. 721 00:38:39,970 --> 00:38:40,980 >> JASON Hirschhorn: A loop. 722 00:38:40,980 --> 00:38:43,060 Bir loop kimi səslənir. 723 00:38:43,060 --> 00:38:49,670 Belə ki, Mənə ilk xətt verə bilər burada loop kodu? 724 00:38:49,670 --> 00:38:56,320 725 00:38:56,320 --> 00:39:01,980 Siz həmçinin seçə bilərsiniz hansı növ Siz mənə vermək əgər loop, istədiyiniz 726 00:39:01,980 --> 00:39:03,215 kodu bu xətt. 727 00:39:03,215 --> 00:39:04,150 Üç növ var. 728 00:39:04,150 --> 00:39:06,530 Siz almaq. 729 00:39:06,530 --> 00:39:08,080 Mən o biri gəlir ki,. 730 00:39:08,080 --> 00:39:08,410 Avi. 731 00:39:08,410 --> 00:39:09,230 Hansı biri istəyirsiniz? 732 00:39:09,230 --> 00:39:09,960 >> AVI: ÜÇÜN. 733 00:39:09,960 --> 00:39:11,460 >> JASON Hirschhorn: ÜÇÜN. 734 00:39:11,460 --> 00:39:15,180 >> AVI: i sıfır bərabərdir Int. 735 00:39:15,180 --> 00:39:17,360 >> JASON Hirschhorn: OK. 736 00:39:17,360 --> 00:39:18,570 >> AVI: Mən əmin deyiləm bu hissəsi. 737 00:39:18,570 --> 00:39:29,080 Amma ölçüsü azdır star mənbəyi? 738 00:39:29,080 --> 00:39:31,128 Mən əmin deyiləm. 739 00:39:31,128 --> 00:39:32,580 >> JASON Hirschhorn: OK. 740 00:39:32,580 --> 00:39:35,870 >> Istədiyiniz Çünki: AVI bir fayl ölçüsü, sağ? 741 00:39:35,870 --> 00:39:41,090 >> JASON Hirschhorn: Belə ki, bu, yəqin ki, deyil bizə faktiki ölçüsü vermək 742 00:39:41,090 --> 00:39:43,010 bytes fayl. 743 00:39:43,010 --> 00:39:47,680 Beləliklə, biz başqa nə edə bilər? 744 00:39:47,680 --> 00:39:48,810 Loop bir növü nədir? 745 00:39:48,810 --> 00:39:50,180 Yoxsa biz ÜÇÜN loop ilə qalmaq lazımdır? 746 00:39:50,180 --> 00:39:55,350 747 00:39:55,350 --> 00:39:57,900 >> STUDENT 20: Bir müddət loop edə bilərmi? 748 00:39:57,900 --> 00:40:01,350 Və sonra, nə istədiyiniz you'd edir - 749 00:40:01,350 --> 00:40:03,930 biz fayl üçün bir char * var. 750 00:40:03,930 --> 00:40:07,950 Biz yalnız incrementing saxlamaq belə ki, əgər biz NULL xarakter tapa istədiyiniz qədər 751 00:40:07,950 --> 00:40:08,500 bunun sonu? 752 00:40:08,500 --> 00:40:11,130 Və ya heç, faylları necə iş deyil ki? 753 00:40:11,130 --> 00:40:14,300 >> JASON Hirschhorn: Biz saxlaya bilərsiniz char * incrementing 754 00:40:14,300 --> 00:40:16,340 biz NULL tapmaq qədər - 755 00:40:16,340 --> 00:40:18,580 >> STUDENT 20: Əsasən davam xarakteri ilə xarakter hit qədər 756 00:40:18,580 --> 00:40:21,250 fayl sonu. 757 00:40:21,250 --> 00:40:21,600 >> JASON Hirschhorn: Bəli. 758 00:40:21,600 --> 00:40:22,560 Belə ki, biz bunu istəyirəm nə. 759 00:40:22,560 --> 00:40:24,545 Biz oxu, xarakter saxlamaq istəyirəm xarakteri ilə, biz almaq qədər 760 00:40:24,545 --> 00:40:25,080 fayl sonu. 761 00:40:25,080 --> 00:40:25,375 >> STUDENT 20: Bəli. 762 00:40:25,375 --> 00:40:25,860 Tap - 763 00:40:25,860 --> 00:40:28,540 sonu və ya stop işarəsi nədir Bir mətn faylı sonunda. 764 00:40:28,540 --> 00:40:28,620 >> JASON Hirschhorn: OK. 765 00:40:28,620 --> 00:40:30,140 Belə ki, biz fayl sonuna almaq zaman - necə biz əldə etdik bilirik 766 00:40:30,140 --> 00:40:33,200 bir fayl sonu? 767 00:40:33,200 --> 00:40:34,710 Mən zəng alıram varsa - 768 00:40:34,710 --> 00:40:35,910 belə ki, geri addım edək. 769 00:40:35,910 --> 00:40:37,550 Bir funksiyası nədir? 770 00:40:37,550 --> 00:40:39,360 Sağ, burada bu istiqamətdə gedək. 771 00:40:39,360 --> 00:40:40,630 Mənbə faylı oxuyun. 772 00:40:40,630 --> 00:40:41,880 Kim mənə kodu ki, xətt verə bilər? 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 OK. 777 00:40:49,510 --> 00:40:52,240 Mən oxumaq istəyirsinizsə, çox xüsusi bir byte? 778 00:40:52,240 --> 00:40:55,012 779 00:40:55,012 --> 00:40:56,860 >> STUDENT 21: Mən bilmirəm. 780 00:40:56,860 --> 00:40:57,110 >> JASON Hirschhorn: OK. 781 00:40:57,110 --> 00:40:59,380 Fscanf daha sadə - bir nə - 782 00:40:59,380 --> 00:41:01,890 Mən bir mənbə faylı oxumaq istəyirsiniz? 783 00:41:01,890 --> 00:41:03,720 Bir mənbə faylı oxuyun. 784 00:41:03,720 --> 00:41:04,850 Bir funksiyası nədir - Bəli. 785 00:41:04,850 --> 00:41:05,380 >> STUDENT 22: Bu fread var? 786 00:41:05,380 --> 00:41:06,070 >> JASON Hirschhorn: fread. 787 00:41:06,070 --> 00:41:07,550 Mən ilə qalmaq olaq indi ki, bir. 788 00:41:07,550 --> 00:41:10,380 789 00:41:10,380 --> 00:41:13,650 Dəlilləri hansı fread edir? 790 00:41:13,650 --> 00:41:17,410 >> STUDENT 22: Yəqin ki, fayl növü, və sonra fayl yeri? 791 00:41:17,410 --> 00:41:19,550 >> JASON Hirschhorn: Mən burada nə yazın anlamaq dəlilləri hansı növü 792 00:41:19,550 --> 00:41:20,950 fread edir? 793 00:41:20,950 --> 00:41:23,710 >> Birden TƏLƏBƏLƏR: Man fread. 794 00:41:23,710 --> 00:41:24,740 >> JASON Hirschhorn: Man fread və fwrite. 795 00:41:24,740 --> 00:41:25,980 Onlar birlikdə asmaq kimi görünür. 796 00:41:25,980 --> 00:41:29,589 Belə ki, fread neçə dəlillər edir? 797 00:41:29,589 --> 00:41:30,920 >> STUDENT 23: Four. 798 00:41:30,920 --> 00:41:32,690 >> JASON Hirschhorn: Bu edir dörd dəlilləri. 799 00:41:32,690 --> 00:41:41,100 Bu göstərici, bir ölçüsü edir ki, qəribə olan şey, və bəzi fayl. 800 00:41:41,100 --> 00:41:42,000 OK? 801 00:41:42,000 --> 00:41:43,990 Sağ burada bu barədə oxumaq edək. 802 00:41:43,990 --> 00:41:49,370 "Funksiyası fread n important oxuyur məlumatların elementləri, hər ölçüsü bytes 803 00:41:49,370 --> 00:41:53,840 uzun, dərədən ilə işarə yeri onları saxlanılması sel 804 00:41:53,840 --> 00:41:56,170 pointer tərəfindən verilir. " 805 00:41:56,170 --> 00:41:57,960 >> Belə ki, dörd dəlilləri. 806 00:41:57,960 --> 00:42:04,510 Niyə yalnız bu surəti yoxdur, və burada yapışdırıb. 807 00:42:04,510 --> 00:42:10,060 808 00:42:10,060 --> 00:42:10,770 OK. 809 00:42:10,770 --> 00:42:13,673 Belə olan doldurulması başlaya bilərsiniz Mənim üçün bu arqumentlər? 810 00:42:13,673 --> 00:42:15,840 Avi. 811 00:42:15,840 --> 00:42:17,720 >> AVI: boşluğu edin. 812 00:42:17,720 --> 00:42:20,530 Yalnız src qoyun. 813 00:42:20,530 --> 00:42:23,142 Göstərici və ulduz almaq. 814 00:42:23,142 --> 00:42:26,102 Src qoyun. 815 00:42:26,102 --> 00:42:27,050 Sonra - 816 00:42:27,050 --> 00:42:28,500 >> JASON Hirschhorn: Mən dayandırmaq üçün gedirəm orada ki, yanlış çünki. 817 00:42:28,500 --> 00:42:32,590 818 00:42:32,590 --> 00:42:34,710 Siz src ilə sağ istəyirik, lakin src harada getmək lazımdır? 819 00:42:34,710 --> 00:42:35,960 >> [Interposing SƏSLƏRİ] 820 00:42:35,960 --> 00:42:38,976 821 00:42:38,976 --> 00:42:41,610 >> JASON Hirschhorn: Bu olmalıdır burada artıq getmək. 822 00:42:41,610 --> 00:42:43,790 Bu src - Bizim src bir növüdür. 823 00:42:43,790 --> 00:42:44,610 Burada baxaq. 824 00:42:44,610 --> 00:42:49,610 Bu type Resim * üçün xahiş olunur, biz həqiqətən adətən belə onları görmək. 825 00:42:49,610 --> 00:42:57,630 Belə ki, bu bir arqument üçün xahiş olunur * src ki, adlı stream fayl növü. 826 00:42:57,630 --> 00:42:58,480 OK? 827 00:42:58,480 --> 00:43:00,410 >> Şeylər hansı ölçüsü biz oxumaq istəyirsiniz? 828 00:43:00,410 --> 00:43:03,340 Mən sizə bu verdi problem təsviri. 829 00:43:03,340 --> 00:43:04,370 >> STUDENT 24: Bir zaman bir byte. 830 00:43:04,370 --> 00:43:05,340 >> JASON Hirschhorn: One byte. 831 00:43:05,340 --> 00:43:08,205 Bir byte necə? 832 00:43:08,205 --> 00:43:11,642 Onun ölçüsü bayt edir, belə ki, nə Mən orada qoymaq olar? 833 00:43:11,642 --> 00:43:12,910 >> STUDENT 25: One. 834 00:43:12,910 --> 00:43:14,730 >> JASON Hirschhorn: One. 835 00:43:14,730 --> 00:43:17,020 Sağ. 836 00:43:17,020 --> 00:43:19,940 Onun ölçüsü vahid byte edir, belə 1 1 byte edir. 837 00:43:19,940 --> 00:43:22,284 Mən bir zaman oxumaq necə çox istəyirəm. 838 00:43:22,284 --> 00:43:23,520 >> STUDENT 26: One? 839 00:43:23,520 --> 00:43:24,270 >> JASON Hirschhorn: Bir şey. 840 00:43:24,270 --> 00:43:28,540 Mən ölçüsü bir şey oxumaq istəyirəm 1, bir-bir bite. 841 00:43:28,540 --> 00:43:32,110 Mən bunu bir dəfə oxuyun və harada onu qoymaq bilərəm? 842 00:43:32,110 --> 00:43:35,050 843 00:43:35,050 --> 00:43:36,510 >> STUDENT 27: Destination? 844 00:43:36,510 --> 00:43:39,270 >> JASON Hirschhorn: Mən qoymaq bilməz düz təyinat. 845 00:43:39,270 --> 00:43:40,800 >> STUDENT 28: Siz mý put istəyirik bir üçüncü göstərici daxil? 846 00:43:40,800 --> 00:43:41,780 >> STUDENT 27: təyinat üçün. 847 00:43:41,780 --> 00:43:42,270 >> JASON Hirschhorn: OK. 848 00:43:42,270 --> 00:43:42,630 Bəli. 849 00:43:42,630 --> 00:43:46,820 >> STUDENT 29: Siz bir şey elan edə bilər müvəqqəti saxlama əvvəlki kimi fəaliyyət göstərir. 850 00:43:46,820 --> 00:43:47,350 >> JASON Hirschhorn: OK. 851 00:43:47,350 --> 00:43:50,080 Mənə verin. 852 00:43:50,080 --> 00:43:53,930 >> STUDENT 29: Başqa bir fayl pointer, bəlkə? 853 00:43:53,930 --> 00:43:54,220 >> JASON Hirschhorn: OK. 854 00:43:54,220 --> 00:43:55,585 Belə ki, bu etibarsız ulduz - 855 00:43:55,585 --> 00:43:57,750 bu bir növü etibarsız ulduz var, belə ki, deyil bir fayl pointer olmalıdır. 856 00:43:57,750 --> 00:44:02,520 Mən bir byte oxuyuram əgər, yaxşı bir yer olardı 857 00:44:02,520 --> 00:44:03,850 bir byte saxlamaq üçün? 858 00:44:03,850 --> 00:44:04,660 >> STUDENT 29: An array? 859 00:44:04,660 --> 00:44:05,770 >> JASON Hirschhorn: An array. 860 00:44:05,770 --> 00:44:07,730 OK. 861 00:44:07,730 --> 00:44:14,040 Və ki, bir şey başqa nə yalnız bir byte ölçüsü? 862 00:44:14,040 --> 00:44:16,980 863 00:44:16,980 --> 00:44:18,060 >> STUDENT 30: A char *? 864 00:44:18,060 --> 00:44:18,530 >> STUDENT 29: Bəli. 865 00:44:18,530 --> 00:44:19,880 >> JASON Hirschhorn: A char * bir byte deyil. 866 00:44:19,880 --> 00:44:20,440 >> STUDENT 29: A char. 867 00:44:20,440 --> 00:44:21,810 >> JASON Hirschhorn: A char bir byte edir. 868 00:44:21,810 --> 00:44:22,920 Sağ? 869 00:44:22,920 --> 00:44:26,740 Belə ki, bu bufer zəng edək ümumi edir saxlamaq üçün bu şeylər üçün istifadə adını 870 00:44:26,740 --> 00:44:27,910 bir şey müvəqqəti. 871 00:44:27,910 --> 00:44:30,880 Mən bir bufer yaratmaq. 872 00:44:30,880 --> 00:44:31,150 Sağ? 873 00:44:31,150 --> 00:44:32,990 Amma bu * bir boşluq görür. 874 00:44:32,990 --> 00:44:38,660 Belə ki, bəlkə, doğru ki, ölçüsü 0 bufer olmalıdır. 875 00:44:38,660 --> 00:44:41,070 Belə ki, bir mağazalar - 876 00:44:41,070 --> 00:44:41,280 sağ. 877 00:44:41,280 --> 00:44:43,560 >> Çünki burada bu hüququ - char bufer bir xarakter, lakin 878 00:44:43,560 --> 00:44:45,110 Bu * boşluq edir - 879 00:44:45,110 --> 00:44:45,870 bir göstərici. 880 00:44:45,870 --> 00:44:50,640 Mən indi bunu edə bilər bufer bir göstəricisidir. 881 00:44:50,640 --> 00:44:53,214 Mən başqa nə edə bilər? 882 00:44:53,214 --> 00:44:55,775 >> STUDENT 31: char yanında bir ulduz qoyun. 883 00:44:55,775 --> 00:44:58,380 >> JASON Hirschhorn: Mən ola bilər Bu * char yaratmışdır. 884 00:44:58,380 --> 00:45:00,216 OK. 885 00:45:00,216 --> 00:45:03,131 Mən bilər bir şey var? 886 00:45:03,131 --> 00:45:04,050 Və ya bu biri ilə gedək. 887 00:45:04,050 --> 00:45:05,740 Char * bufer, nə Mən burada qoymaq bilərəm? 888 00:45:05,740 --> 00:45:08,290 889 00:45:08,290 --> 00:45:09,310 >> STUDENT 31: Buffer. 890 00:45:09,310 --> 00:45:10,560 >> JASON Hirschhorn: Buffer. 891 00:45:10,560 --> 00:45:12,640 892 00:45:12,640 --> 00:45:14,500 Buffer bir char bir göstəricisidir. 893 00:45:14,500 --> 00:45:19,480 Və yeri, biz qoyulması edirik biz oxumaq etdik şey biri byte. 894 00:45:19,480 --> 00:45:19,980 Bəli. 895 00:45:19,980 --> 00:45:20,700 Avi. 896 00:45:20,700 --> 00:45:21,230 >> AVI: Just tez sual. 897 00:45:21,230 --> 00:45:24,440 Siz bufer malloc istəyirsiniz? 898 00:45:24,440 --> 00:45:25,930 >> JASON Hirschhorn: Kim bilər Bu suala cavab? 899 00:45:25,930 --> 00:45:30,210 >> STUDENT 32: Yaxşı, Bu, həqiqətən indi bir şey point, belə ki, - 900 00:45:30,210 --> 00:45:32,610 >> JASON Hirschhorn: Amma bunu biz bunu malloc istəyirsiniz? 901 00:45:32,610 --> 00:45:35,600 >> STUDENT 32: siz bunu olsaydı ki, sizə lazım istədiyiniz çünki, mən, evet, tapmaq 902 00:45:35,600 --> 00:45:36,990 Bu qeyd etmək üçün bir yer. 903 00:45:36,990 --> 00:45:38,350 >> JASON Hirschhorn: biz malloc var? 904 00:45:38,350 --> 00:45:40,580 >> STUDENT 33: siz davam edirsinizsə loop kənarda istifadə edin. 905 00:45:40,580 --> 00:45:42,524 >> JASON Hirschhorn: biz gedir loop kənarda istifadə? 906 00:45:42,524 --> 00:45:44,392 >> STUDENT 34: Bəli. 907 00:45:44,392 --> 00:45:44,860 >> STUDENT 35: gözləyin. 908 00:45:44,860 --> 00:45:46,980 Biz bunu bəyan etmək istəyirəm etməyin kənarda loop? 909 00:45:46,980 --> 00:45:50,100 >> JASON Hirschhorn: Mən biz tapmaq burada biz istəyirik ki, bəzi yalançı APARARKƏN loop 910 00:45:50,100 --> 00:45:51,950 , anlamağa çalışırıq ki, Biz hələ kazanılmış deyil. 911 00:45:51,950 --> 00:45:54,710 912 00:45:54,710 --> 00:45:56,010 Biz bunu malloc ehtiyac yoxdur. 913 00:45:56,010 --> 00:45:59,310 Biz əsas fəaliyyət edirik, yalnız gedir Bu loop daxilində istifadə ediləcək. 914 00:45:59,310 --> 00:46:00,540 Bu mövcud lazım deyil Bu xaricində. 915 00:46:00,540 --> 00:46:02,340 >> Belə ki, yerli dəyişən ola bilər. 916 00:46:02,340 --> 00:46:03,925 Siz bir göstərici var yerli dəyişən. 917 00:46:03,925 --> 00:46:07,984 918 00:46:07,984 --> 00:46:09,590 >> STUDENT 36: Lakin bu deyil bir şey işarə. 919 00:46:09,590 --> 00:46:11,540 >> JASON Hirschhorn: Xeyr, deyil bir şey başlatılmış. 920 00:46:11,540 --> 00:46:12,790 Amma biz də istifadə etmək fikrində deyilik. 921 00:46:12,790 --> 00:46:15,300 Biz bir şey qoymaq olacaq ilk dəfə biz istifadə edin. 922 00:46:15,300 --> 00:46:16,580 Belə ki, OK görünür. 923 00:46:16,580 --> 00:46:17,780 Beləliklə, biz burada malloc ehtiyac yoxdur. 924 00:46:17,780 --> 00:46:19,360 Və mən kimi OK hesab edirəm. 925 00:46:19,360 --> 00:46:24,350 926 00:46:24,350 --> 00:46:25,790 OK. 927 00:46:25,790 --> 00:46:27,190 Biz fread xətt var. 928 00:46:27,190 --> 00:46:28,490 Nin növbəti line edək. 929 00:46:28,490 --> 00:46:32,984 >> Biz bir fayl yazmaq istəyirsinizsə, nə bunu istifadə etmək yaxşı bir funksiyası? 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 biridir. 933 00:46:36,010 --> 00:46:37,260 Başqa bir nədir? 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 Və bizim üçün, fwrite, biz burada gördüm ki, edir 937 00:46:41,250 --> 00:46:42,500 yəqin ki, daha yaxşı seçim. 938 00:46:42,500 --> 00:46:51,970 939 00:46:51,970 --> 00:46:53,950 Bu həmçinin dörd dəlilləri. 940 00:46:53,950 --> 00:46:57,570 Nishant, siz verə bilər dəlilləri me? 941 00:46:57,570 --> 00:47:00,570 >> Nishant: İlk bir davam yalnız bufer olmalıdır. 942 00:47:00,570 --> 00:47:02,210 >> JASON Hirschhorn: OK. 943 00:47:02,210 --> 00:47:06,752 >> Nishant: İkinci üzrə yalnız 1 olacaq. 944 00:47:06,752 --> 00:47:09,510 Üçüncü bir 1 olacaq. 945 00:47:09,510 --> 00:47:11,470 Və dördüncü bir dst olacaq. 946 00:47:11,470 --> 00:47:18,010 947 00:47:18,010 --> 00:47:19,550 >> JASON Hirschhorn: Heç varmı ki, xətti haqqında hər hansı bir sualınız? 948 00:47:19,550 --> 00:47:28,370 949 00:47:28,370 --> 00:47:29,130 Bu yaxşı görünür. 950 00:47:29,130 --> 00:47:29,590 OK. 951 00:47:29,590 --> 00:47:34,250 Belə ki, indi biz istəyirik bir şey kimi görünür itkin - həqiqətən, yazmaq bildirin 952 00:47:34,250 --> 00:47:35,090 bu son line. 953 00:47:35,090 --> 00:47:36,300 Faylları bağlayın. 954 00:47:36,300 --> 00:47:38,880 Kim yazılı bizə bitirmək bilər Bu son iki xətləri? 955 00:47:38,880 --> 00:47:39,120 Bəli. 956 00:47:39,120 --> 00:47:39,850 Bağışlayın, sizin adınız nədir? 957 00:47:39,850 --> 00:47:40,580 >> LUCY: Lucy. 958 00:47:40,580 --> 00:47:41,580 >> JASON Hirschhorn: Lucy. 959 00:47:41,580 --> 00:47:47,560 >> LUCY: sonra fclose src və fclose təyinat. 960 00:47:47,560 --> 00:47:52,430 >> JASON Hirschhorn: fclose, açıq paren, src, yaxın paren, nöqtəli vergül. 961 00:47:52,430 --> 00:47:53,680 Və fclose - 962 00:47:53,680 --> 00:47:57,560 963 00:47:57,560 --> 00:47:58,090 yeah? 964 00:47:58,090 --> 00:48:01,710 >> LUCY: Open parantez, DST və sonra nöqtəli vergül. 965 00:48:01,710 --> 00:48:02,520 >> JASON Hirschhorn: Great. 966 00:48:02,520 --> 00:48:04,338 Mən sonunda nə daxil olmalıdır? 967 00:48:04,338 --> 00:48:05,210 >> LUCY: 0 qayıt. 968 00:48:05,210 --> 00:48:05,570 >> JASON Hirschhorn: 0 qayıt. 969 00:48:05,570 --> 00:48:06,820 Mən var? 970 00:48:06,820 --> 00:48:10,560 971 00:48:10,560 --> 00:48:12,590 Bir sual. 972 00:48:12,590 --> 00:48:14,957 Biz qaytarılması 0 daxil var? 973 00:48:14,957 --> 00:48:16,240 >> Birden TƏLƏBƏLƏR: Xeyr 974 00:48:16,240 --> 00:48:16,430 >> JASON Hirschhorn: Xeyr 975 00:48:16,430 --> 00:48:18,090 Main avtomatik olaraq bunu edir siz sonuna almaq əgər. 976 00:48:18,090 --> 00:48:20,580 Amma bu gözəl hesab edirəm aydın şəkildə onu daxildir. 977 00:48:20,580 --> 00:48:23,860 Biz digər qaytarılması etdiyiniz xüsusilə proqram boyunca şeylər. 978 00:48:23,860 --> 00:48:24,810 OK. 979 00:48:24,810 --> 00:48:26,230 Bu əskik etdiyiniz nə - 980 00:48:26,230 --> 00:48:28,520 Nə APARARKƏN? 981 00:48:28,520 --> 00:48:31,630 Olan bəzi hesab edə bilər - 982 00:48:31,630 --> 00:48:35,240 bəzi hissi var hər şeyi orada getmək bilər? 983 00:48:35,240 --> 00:48:37,350 Bu yalnız bir pseudocode belə dil kimi? 984 00:48:37,350 --> 00:48:41,330 >> Biz, həqiqətən, hansılardır - nə biz qədər getmək istəyirsiniz? 985 00:48:41,330 --> 00:48:41,980 Bəli, Lucy. 986 00:48:41,980 --> 00:48:43,240 >> LUCY: fayl sonu. 987 00:48:43,240 --> 00:48:44,990 >> JASON Hirschhorn: Faylın sonu. 988 00:48:44,990 --> 00:48:49,280 Belə ki, fayl sonuna nə deməkdir? 989 00:48:49,280 --> 00:48:50,955 >> LUCY: Siz çatmaq fayl sonu dayandırmaq. 990 00:48:50,955 --> 00:48:51,240 >> JASON Hirschhorn: OK. 991 00:48:51,240 --> 00:48:53,460 Belə ki, bir dəfə biz fayl sonuna çatmaq. 992 00:48:53,460 --> 00:48:56,893 Biz əldə etdiyiniz zaman necə bilirik fayl sonu? 993 00:48:56,893 --> 00:48:59,900 >> STUDENT 40: I bufer hesab Null müəyyən olunacaq. 994 00:48:59,900 --> 00:49:01,885 >> STUDENT 41: Buffer elan edilir loop daxilində. 995 00:49:01,885 --> 00:49:03,670 >> JASON Hirschhorn: Belə düşünürsünüz bufer null müəyyən olunacaq. 996 00:49:03,670 --> 00:49:05,850 Niyə null müəyyən edilə bufer olardı? 997 00:49:05,850 --> 00:49:10,420 >> STUDENT 40: zaman Çünki fread, siz qoymaq çalışdığınız 998 00:49:10,420 --> 00:49:13,528 bufer daxil heç bir şey. 999 00:49:13,528 --> 00:49:13,980 >> JASON Hirschhorn: OK. 1000 00:49:13,980 --> 00:49:15,550 Beləliklə, siz fread düşüncə etdiyiniz - 1001 00:49:15,550 --> 00:49:19,000 biz sonunda əldə etdiyiniz zaman fayl, nə fread nə olacaq? 1002 00:49:19,000 --> 00:49:21,230 Mən sual edirəm biz anlamaq lazımdır. 1003 00:49:21,230 --> 00:49:21,960 Fread nə edir? 1004 00:49:21,960 --> 00:49:25,640 Bu bufer NULL qoymaq, və ya etmir Bu başqa bir şey deyil? 1005 00:49:25,640 --> 00:49:27,510 Biz necə nə anlamaq olar? 1006 00:49:27,510 --> 00:49:28,190 >> STUDENT 42: Man. 1007 00:49:28,190 --> 00:49:28,810 >> JASON Hirschhorn: Man. 1008 00:49:28,810 --> 00:49:32,280 Belə ki, burada baxaq. 1009 00:49:32,280 --> 00:49:34,000 Dəyər qayıt. 1010 00:49:34,000 --> 00:49:39,620 Uğurlar, fread və qayıtmaq fwrite burada oxumaq və ya yazılı maddələrin sayı. 1011 00:49:39,620 --> 00:49:43,700 Bu sayı bayt sayı bərabərdir ölçüsü 1 yalnız köçürülür. 1012 00:49:43,700 --> 00:49:47,780 Bir səhv baş, və ya sonu əgər fayl əldə, qaytarılması dəyəri edir 1013 00:49:47,780 --> 00:49:51,490 qısa maddə count ya 0. 1014 00:49:51,490 --> 00:49:57,860 >> Belə ki, bizim üçün, əgər fread çatır fayl sonu və oxuyur 1015 00:49:57,860 --> 00:50:02,100 fayl sonu, sol heç bir şey var oxumaq, nə geri olacaq? 1016 00:50:02,100 --> 00:50:03,290 >> STUDENT 43: Zero? 1017 00:50:03,290 --> 00:50:04,540 >> JASON Hirschhorn: Nə? 1018 00:50:04,540 --> 00:50:05,300 >> STUDENT 43: Zero? 1019 00:50:05,300 --> 00:50:05,690 >> JASON Hirschhorn: Zero. 1020 00:50:05,690 --> 00:50:06,940 Bu sıfır geri olacaq. 1021 00:50:06,940 --> 00:50:09,360 1022 00:50:09,360 --> 00:50:13,010 Belə ki, biz etdik ki fread bilirik fayl sona gəlindi gedir 1023 00:50:13,010 --> 00:50:13,690 sıfır qayıtmaq üçün. 1024 00:50:13,690 --> 00:50:17,460 Necə biz üstünlüyü üçün istifadə edə bilərsiniz? 1025 00:50:17,460 --> 00:50:21,733 >> AVI: Siz xaricində bir dəyişən elan edə bilər check adlı loop. 1026 00:50:21,733 --> 00:50:27,040 Çek bərabərdir varsa - 1027 00:50:27,040 --> 00:50:28,190 indi - bir. 1028 00:50:28,190 --> 00:50:28,920 >> JASON Hirschhorn: OK. 1029 00:50:28,920 --> 00:50:38,050 >> AVI: Və sonra bir qoymaq bilər sağ fread dedikdən sonra bəyanat əgər 1030 00:50:38,050 --> 00:50:42,600 fread sıfır bərabərdir - 1031 00:50:42,600 --> 00:50:43,850 no. 1032 00:50:43,850 --> 00:50:46,002 1033 00:50:46,002 --> 00:50:47,252 >> JASON Hirschhorn: Kim avi həyata kömək edə bilər? 1034 00:50:47,252 --> 00:50:49,690 1035 00:50:49,690 --> 00:50:52,410 >> AVI: nə dəyəri var fread geri? 1036 00:50:52,410 --> 00:50:54,060 >> JASON Hirschhorn: Biz yalnız üzərində getdi. 1037 00:50:54,060 --> 00:50:55,450 >> AVI: Necə təmsil edir? 1038 00:50:55,450 --> 00:50:57,190 >> JASON Hirschhorn: Belə ki, qaytarır - edək burada baxmaq - bir qaytarır 1039 00:50:57,190 --> 00:50:59,340 mahiyyətcə olan size_t, tam. 1040 00:50:59,340 --> 00:51:02,240 1041 00:51:02,240 --> 00:51:03,410 Belə ki, bir tam qaytarır. 1042 00:51:03,410 --> 00:51:05,160 Və bizim halda, o, 1 və ya 0 qayıtmaq - 1043 00:51:05,160 --> 00:51:08,760 1 bir şey oxumaq - bir byte, 0 biz sonunda əldə etdiyiniz əgər. 1044 00:51:08,760 --> 00:51:13,560 1045 00:51:13,560 --> 00:51:16,450 Belə ki, fread əgər - 1046 00:51:16,450 --> 00:51:16,855 yeah? 1047 00:51:16,855 --> 00:51:20,330 >> STUDENT 45: yalnız tam qoymaq bilməz daxil fread (bufer, 1, 1, src) 1048 00:51:20,330 --> 00:51:21,660 loop isə? 1049 00:51:21,660 --> 00:51:26,510 >> JASON Hirschhorn: Belə ki, təklif orada bu edir? 1050 00:51:26,510 --> 00:51:27,600 >> [Interposing SƏSLƏRİ] 1051 00:51:27,600 --> 00:51:29,520 >> JASON Hirschhorn: tutun. 1052 00:51:29,520 --> 00:51:30,885 Beləliklə, biz ki ridding edirik. 1053 00:51:30,885 --> 00:51:33,300 Beləliklə, siz qoyulması təklif edirik fread orada daxil? 1054 00:51:33,300 --> 00:51:35,457 Biz də hərəkət etməlidir Bunu etmək istəyirsinizsə? 1055 00:51:35,457 --> 00:51:36,740 >> STUDENT 45: xaricində bufer. 1056 00:51:36,740 --> 00:51:38,110 >> JASON Hirschhorn: Biz olmalıdır də burada bu hərəkət. 1057 00:51:38,110 --> 00:51:41,700 >> STUDENT 45: Amma ki, daim irəli hərəkət? 1058 00:51:41,700 --> 00:51:42,950 >> [Interposing SƏSLƏRİ] 1059 00:51:42,950 --> 00:51:46,540 1060 00:51:46,540 --> 00:51:47,470 >> JASON Hirschhorn: OK. 1061 00:51:47,470 --> 00:51:50,570 Belə ki, bu Okshar təklif edir. 1062 00:51:50,570 --> 00:51:51,930 Biz bufer yaratmaq. 1063 00:51:51,930 --> 00:51:57,020 Biz APARARKƏN fread, sonra biz fwrite. 1064 00:51:57,020 --> 00:51:59,760 Bu fikir? 1065 00:51:59,760 --> 00:52:04,050 >> STUDENT 46: Mənim yalnız sual, onda edir əslində komanda fread icra? 1066 00:52:04,050 --> 00:52:06,175 >> JASON Hirschhorn: Böyük sual. 1067 00:52:06,175 --> 00:52:11,050 Bir funksiyası zəng qoyulması olduğunuz zaman bir şərt daxilində, edir 1068 00:52:11,050 --> 00:52:12,300 funksiyası zəng icra? 1069 00:52:12,300 --> 00:52:15,760 1070 00:52:15,760 --> 00:52:17,770 Biz əvvəl bu nümunələr gördük. 1071 00:52:17,770 --> 00:52:24,900 1072 00:52:24,900 --> 00:52:25,660 Sağ? 1073 00:52:25,660 --> 00:52:26,125 >> STUDENT 46: OK. 1074 00:52:26,125 --> 00:52:26,590 Bəli. 1075 00:52:26,590 --> 00:52:30,140 Belə ki, icra edir. 1076 00:52:30,140 --> 00:52:31,790 >> JASON Hirschhorn: Biz şeylər gördüm bundan əvvəl biz olduğu kimi bir 1077 00:52:31,790 --> 00:52:33,550 bir şərt daxilində funksiyası zəng. 1078 00:52:33,550 --> 00:52:35,540 Ki, funksiyası zəng icra varmı? 1079 00:52:35,540 --> 00:52:36,350 Bəli. 1080 00:52:36,350 --> 00:52:37,410 Belə ki, cavab yes deyil. 1081 00:52:37,410 --> 00:52:41,010 Bu funksiya zəng icra edəcək. 1082 00:52:41,010 --> 00:52:42,418 Ancaq yenə də, biz istədiyiniz nə deyil? 1083 00:52:42,418 --> 00:52:49,250 1084 00:52:49,250 --> 00:52:52,204 >> Biz anlamaq bilər bir yolu nədir biz istədiyiniz nə, əgər? 1085 00:52:52,204 --> 00:52:53,470 >> Birden TƏLƏBƏLƏR: Run? 1086 00:52:53,470 --> 00:52:54,460 >> JASON Hirschhorn: Biz run bilər. 1087 00:52:54,460 --> 00:52:57,500 Biz bunu əvvəl Lakin, biz bilər bu vasitəsilə səbəb. 1088 00:52:57,500 --> 00:52:57,920 Varsa - 1089 00:52:57,920 --> 00:53:01,920 biz bir byte demək bizim Biz burada almaq lazımdır, fayl, 1090 00:53:01,920 --> 00:53:02,660 biz bu kodu almaq lazımdır. 1091 00:53:02,660 --> 00:53:03,620 Bu davam edəcək. 1092 00:53:03,620 --> 00:53:07,780 fread bir byte qayıdacaqlar Bu bufer saxlamayın. 1093 00:53:07,780 --> 00:53:11,290 Bu, 1 qiymətləndirəcək sağ, sonra 1 qaytarır. 1094 00:53:11,290 --> 00:53:12,640 >> Belə ki, APARARKƏN 1. 1095 00:53:12,640 --> 00:53:15,325 Ki, daxilində kodu deməkdir isə loop icra edəcək? 1096 00:53:15,325 --> 00:53:15,453 >> STUDENT 47: Bəli. 1097 00:53:15,453 --> 00:53:16,040 Doğrudur. 1098 00:53:16,040 --> 00:53:16,290 >> JASON Hirschhorn: Bəli. 1099 00:53:16,290 --> 00:53:17,490 1 doğrudur. 1100 00:53:17,490 --> 00:53:18,240 Bu 0 deyil. 1101 00:53:18,240 --> 00:53:20,360 Belə ki, burada daxili kodu icra edəcək. 1102 00:53:20,360 --> 00:53:22,300 Belə ki, yazmaq lazımdır. 1103 00:53:22,300 --> 00:53:25,340 Biz bu geri hərəkət edəcəyik line bir daha. 1104 00:53:25,340 --> 00:53:26,850 İndi biz var - 1105 00:53:26,850 --> 00:53:28,550 biz fayl sonunda istəyirik. 1106 00:53:28,550 --> 00:53:30,980 Biz fayl sonunda oxumaq, biz yalnız bir byte idi. 1107 00:53:30,980 --> 00:53:34,270 >> Fread 0, mağazalar qaytarır bufer bir şey. 1108 00:53:34,270 --> 00:53:35,890 Mən vicdanla bilmirəm Bu bufer saklar. 1109 00:53:35,890 --> 00:53:38,380 Biz yəqin ki, baxmaq bilər nə görmək. 1110 00:53:38,380 --> 00:53:40,130 Mən vicdanla bilmirəm. 1111 00:53:40,130 --> 00:53:43,090 Biz nə umurunda bilmirəm Bu bufer mağazalar? 1112 00:53:43,090 --> 00:53:44,010 Amma bu 0 qayıtmaq deyil. 1113 00:53:44,010 --> 00:53:45,440 0 icra İKƏN olacaq? 1114 00:53:45,440 --> 00:53:49,950 1115 00:53:49,950 --> 00:53:51,180 >> 0 icra edəcək. 1116 00:53:51,180 --> 00:53:54,030 Beləliklə biz burada hərəkət edəcəyik. 1117 00:53:54,030 --> 00:53:58,870 Belə ki, əlində bir şou almaq qoy əgər biz run, və ya əgər biz olmalıdır kodu 1118 00:53:58,870 --> 00:54:00,140 ilk dəyişikliklər etməlidir. 1119 00:54:00,140 --> 00:54:02,180 Sizcə əgər - siz səs var. 1120 00:54:02,180 --> 00:54:06,885 Əgər biz bu kodu run lazımdır düşünüyorsanız kimi, sizin əl qaldırmaq edin. 1121 00:54:06,885 --> 00:54:12,440 1122 00:54:12,440 --> 00:54:13,400 >> OK. 1123 00:54:13,400 --> 00:54:14,315 Bir var - 1124 00:54:14,315 --> 00:54:17,260 Bir sual, narahatlıq var? 1125 00:54:17,260 --> 00:54:18,080 Bəli. 1126 00:54:18,080 --> 00:54:21,240 >> STUDENT 48: biz tampon hərəkət sonra loop kənarda, biz 1127 00:54:21,240 --> 00:54:22,670 malloc var? 1128 00:54:22,670 --> 00:54:23,310 >> JASON Hirschhorn: Böyük sual. 1129 00:54:23,310 --> 00:54:26,670 Biz kənarda bufer hərəkət sonra loop, biz bunu malloc var? 1130 00:54:26,670 --> 00:54:28,400 Bu həcmi məsələdir. 1131 00:54:28,400 --> 00:54:32,130 Biz kənarda bufer başlamaq əgər Bu loop, bu mövcud olacaq 1132 00:54:32,130 --> 00:54:33,534 loop daxilində? 1133 00:54:33,534 --> 00:54:35,230 >> Birden TƏLƏBƏLƏR: Bəli. 1134 00:54:35,230 --> 00:54:35,580 >> JASON Hirschhorn: Bəli. 1135 00:54:35,580 --> 00:54:40,100 Onun həcmi, loop daxilində əhatə edir və, həqiqətən, bir şey daxili aşağıda 1136 00:54:40,100 --> 00:54:42,460 o cümlədən bu kodu ki, burada daxili şeylər. 1137 00:54:42,460 --> 00:54:43,930 Belə ki, biz bunu malloc ehtiyac yoxdur. 1138 00:54:43,930 --> 00:54:47,766 Bu yerli dəyişən, və onun əhatə dairəsi hələ loop daxildir. 1139 00:54:47,766 --> 00:54:49,540 >> STUDENT 49: biz onu azad etmək lazımdır? 1140 00:54:49,540 --> 00:54:51,770 >> JASON Hirschhorn: biz pulsuz bufer lazımdır? 1141 00:54:51,770 --> 00:54:53,860 >> STUDENT 49: Bəli, biz malloc deyilsə. 1142 00:54:53,860 --> 00:54:55,750 >> JASON Hirschhorn: biz pulsuz bufer lazımdır? 1143 00:54:55,750 --> 00:54:57,160 Biz bunu etmirik. 1144 00:54:57,160 --> 00:55:01,280 Yenə də, bu yerli dəyişən, belə ki, biz onu azad etmək lazım deyil. 1145 00:55:01,280 --> 00:55:02,170 OK. 1146 00:55:02,170 --> 00:55:03,480 Nə görmək edək. 1147 00:55:03,480 --> 00:55:17,290 1148 00:55:17,290 --> 00:55:18,220 Belə ki, uninitialized edir. 1149 00:55:18,220 --> 00:55:20,830 Ki, nə bir şey idi ki, Marcus əvvəllər təklif. 1150 00:55:20,830 --> 00:55:25,340 Belə ki, səhv, dəyişən bufer var Burada istifadə uninitialized edir. 1151 00:55:25,340 --> 00:55:26,590 >> Biz bu necə düzəltmək olar? 1152 00:55:26,590 --> 00:55:29,460 1153 00:55:29,460 --> 00:55:30,960 >> STUDENT 50: malloc? 1154 00:55:30,960 --> 00:55:31,770 >> STUDENT 51: NULL Bərabər? 1155 00:55:31,770 --> 00:55:33,000 >> STUDENT 52: bufer NULL bərabərdir söyləyin. 1156 00:55:33,000 --> 00:55:34,250 >> JASON Hirschhorn: OK. 1157 00:55:34,250 --> 00:55:40,040 1158 00:55:40,040 --> 00:55:40,770 Yaxşı görünür. 1159 00:55:40,770 --> 00:55:42,410 Biz indi var. 1160 00:55:42,410 --> 00:55:45,630 Nin çıxarmaq cəhd bir şey yaratmaq edək. 1161 00:55:45,630 --> 00:56:08,990 1162 00:56:08,990 --> 00:56:10,490 Belə ki, biz mətn faylı var. 1163 00:56:10,490 --> 00:56:11,740 Biz bu proqram run bilər? 1164 00:56:11,740 --> 00:56:14,140 1165 00:56:14,140 --> 00:56:15,472 Bəli. 1166 00:56:15,472 --> 00:56:22,230 >> STUDENT 53: Siz dot edə bilərsiniz cp, test.txt doğramaq. 1167 00:56:22,230 --> 00:56:25,140 Və sonra başqa bir fayl olar onu saxlamaq olacaq. 1168 00:56:25,140 --> 00:56:25,510 >> JASON Hirschhorn: OK. 1169 00:56:25,510 --> 00:56:27,380 Biz bunu out.txt zəng edəcəyik. 1170 00:56:27,380 --> 00:56:28,630 Cool? 1171 00:56:28,630 --> 00:56:31,700 1172 00:56:31,700 --> 00:56:34,320 Seg günah. 1173 00:56:34,320 --> 00:56:35,570 Seqmentlərin günah haqqında düşüncələr 1174 00:56:35,570 --> 00:56:40,900 1175 00:56:40,900 --> 00:56:41,390 Bu, böyük deyil. 1176 00:56:41,390 --> 00:56:45,040 Necə tapa bilərsiniz seqmentlərin günah? 1177 00:56:45,040 --> 00:56:45,680 Nə? 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 Biz gdb dot çizgi yazmaqla gdb run Bizim proqram adı. 1182 00:56:55,300 --> 00:56:57,020 Heç bir command line dəlilləri. 1183 00:56:57,020 --> 00:56:59,570 Biz müəyyən olacaq əsas da breakpoint. 1184 00:56:59,570 --> 00:57:02,190 Mən gdb başlamaq istəyirsinizsə, mən nə etməliyəm? 1185 00:57:02,190 --> 00:57:02,730 >> STUDENT 55: R. 1186 00:57:02,730 --> 00:57:08,910 >> Sonra R. Və nə: JASON Hirschhorn? 1187 00:57:08,910 --> 00:57:09,400 >> STUDENT 55: The arqumentlər? 1188 00:57:09,400 --> 00:57:10,650 >> JASON Hirschhorn: Sonra command-line dəlilləri. 1189 00:57:10,650 --> 00:57:15,890 1190 00:57:15,890 --> 00:57:17,120 Vasitəsilə gəzmək edək. 1191 00:57:17,120 --> 00:57:19,090 N yalnız xətti ilə mənə line edir. 1192 00:57:19,090 --> 00:57:21,450 Mən getmək üçün gedirəm qədər Mən seg günah almaq. 1193 00:57:21,450 --> 00:57:22,700 Mənim seg günah var. 1194 00:57:22,700 --> 00:57:24,960 1195 00:57:24,960 --> 00:57:27,875 Fread səbəb kimi görünür mənim günah seg. 1196 00:57:27,875 --> 00:57:30,570 1197 00:57:30,570 --> 00:57:32,770 Mən fread mənim seg günah səbəb bilirik ki, idi, çünki 1198 00:57:32,770 --> 00:57:34,950 line biz yalnız icra. 1199 00:57:34,950 --> 00:57:36,530 >> Idi ki, yalnız bir şey ki, xətt baş - 1200 00:57:36,530 --> 00:57:37,520 iki şeylər baş idi. 1201 00:57:37,520 --> 00:57:40,610 Fread gedirdi, sonra biz idi bəzi APARARKƏN yoxlanılması edir. 1202 00:57:40,610 --> 00:57:44,820 Mən bahis istəyən Ben ki APARARKƏN yoxlanılması mənim seg günah səbəb deyil. 1203 00:57:44,820 --> 00:57:46,950 Çox güman ki, fread idi Mənim San günah səbəb olur. 1204 00:57:46,950 --> 00:57:49,260 Mən də burada bir şey Memcopy görürük. 1205 00:57:49,260 --> 00:57:50,500 >> Yaddaş surəti. 1206 00:57:50,500 --> 00:57:53,820 Olan yaddaş hərəkət kimi səslənir başqa bir yer. 1207 00:57:53,820 --> 00:57:56,890 Baş ki, bir şey kimi səslənir fread, bəlkə, bəzi yaddaş 1208 00:57:56,890 --> 00:57:58,910 burada buradan hərəkət. 1209 00:57:58,910 --> 00:58:01,740 1210 00:58:01,740 --> 00:58:03,860 Yenə bu yolu gedək. 1211 00:58:03,860 --> 00:58:06,900 Nasıl artıq başlamaq yoxdur və yenidən run? 1212 00:58:06,900 --> 00:58:08,092 Bəli. 1213 00:58:08,092 --> 00:58:15,140 >> STUDENT 56: Siz qoymaq lazımdır Bufer əvvəl ampersand? 1214 00:58:15,140 --> 00:58:17,800 >> JASON Hirschhorn: Əvvəl işareti bufer mənə Ünvan verəcək 1215 00:58:17,800 --> 00:58:22,330 * Bir char olan bufer. 1216 00:58:22,330 --> 00:58:25,250 Bu bir daha vaxt vasitəsilə run edək. 1217 00:58:25,250 --> 00:58:28,248 Mən bir dəfə daha keçir edirsiniz? 1218 00:58:28,248 --> 00:58:29,210 >> STUDENT 57: Can yalnız yenidən run yazın? 1219 00:58:29,210 --> 00:58:32,050 >> JASON Hirschhorn: Just yenidən run yazın. 1220 00:58:32,050 --> 00:58:33,415 Beləliklə, biz fikrində deyilik bu xətti həyata. 1221 00:58:33,415 --> 00:58:36,250 1222 00:58:36,250 --> 00:58:39,240 Belə ki, bufer bir NULL pointer edir. 1223 00:58:39,240 --> 00:58:40,490 Düzəltmək? 1224 00:58:40,490 --> 00:58:45,870 1225 00:58:45,870 --> 00:58:47,060 Bu işarə edir - nin görək. 1226 00:58:47,060 --> 00:58:48,500 Biz varsa, bizim - 1227 00:58:48,500 --> 00:58:50,430 Bu tez şəkil çəkmək. 1228 00:58:50,430 --> 00:58:53,500 Əgər hamı bilərsiniz Mən burada yazmaq? 1229 00:58:53,500 --> 00:59:02,890 >> Belə ki, yığını, biz yerli var dəyişən və bufer adlanır və 1230 00:59:02,890 --> 00:59:08,230 bu bir char bir göstərici var. 1231 00:59:08,230 --> 00:59:10,325 Nə ünvanı bu char edir? 1232 00:59:10,325 --> 00:59:12,550 >> STUDENT 58: 0x0. 1233 00:59:12,550 --> 00:59:13,400 >> JASON Hirschhorn: Right. 1234 00:59:13,400 --> 00:59:14,200 Yəni bu nə. 1235 00:59:14,200 --> 00:59:17,600 Burada, bufer daxilində, 0x0 saxlanılır. 1236 00:59:17,600 --> 00:59:20,480 Ki, biz nə var - biz indi quraşdırma. 1237 00:59:20,480 --> 00:59:27,540 Belə ki, bu xətt, fread, bir şey qoyur harada mənbəyi? 1238 00:59:27,540 --> 00:59:30,560 Bu qutu və ya bu qutusuna? 1239 00:59:30,560 --> 00:59:31,060 Hansı qutusu? 1240 00:59:31,060 --> 00:59:33,290 Qutusu və ya sağ qutusu sol? 1241 00:59:33,290 --> 00:59:34,750 Bu sağ qutusu. 1242 00:59:34,750 --> 00:59:38,440 >> Bu göstərici aşağıdakı və burada onu qoyur. 1243 00:59:38,440 --> 00:59:42,620 Biz cəhd və touch yaddaş zaman yeri 0, biz nə əldə edirsiniz? 1244 00:59:42,620 --> 00:59:45,050 A seqmentasiya günah. 1245 00:59:45,050 --> 00:59:46,550 Yəni biz indi hata var. 1246 00:59:46,550 --> 00:59:46,970 Bəli. 1247 00:59:46,970 --> 00:59:48,410 >> STUDENT 59: siz yoxdur star bufer qoymaq? 1248 00:59:48,410 --> 00:59:49,180 Heç bir və ya? 1249 00:59:49,180 --> 00:59:50,050 Fread üçün? 1250 00:59:50,050 --> 00:59:51,450 >> JASON Hirschhorn: Belə fread bir pointer edir. 1251 00:59:51,450 --> 00:59:54,920 1252 00:59:54,920 --> 00:59:55,900 Belə ki, bufer keçir. 1253 00:59:55,900 --> 00:59:58,980 Və sonra lazımdır de-arayış haradasa fread içərisində. 1254 00:59:58,980 --> 01:00:00,700 Ancaq yenə də, gördük, bu bir pointer edir. 1255 01:00:00,700 --> 01:00:02,560 Biz onu star bufer keçmək lazım deyil. 1256 01:00:02,560 --> 01:00:05,350 Ki, keçən olunacaq burada var nə. 1257 01:00:05,350 --> 01:00:07,980 Və yəqin ki, bizə bir səhv verəcək biz bunu de-sened edirik, çünki. 1258 01:00:07,980 --> 01:00:08,150 >> Sağ? 1259 01:00:08,150 --> 01:00:10,690 Biz bu göstərici istinad de zaman, zaman biz bu yer daxil olmaq üçün cəhd edin, 1260 01:00:10,690 --> 01:00:13,140 biz səhv alıyorsanız - bizim seqmentasiya günah. 1261 01:00:13,140 --> 01:00:15,800 Belə ki, - 1262 01:00:15,800 --> 01:00:16,690 oops. 1263 01:00:16,690 --> 01:00:19,090 Biz gdb həyata çıxmaq olacaq. 1264 01:00:19,090 --> 01:00:20,160 Bizim line - 1265 01:00:20,160 --> 01:00:22,990 Bizim problem - doğru Burada bu xətt üzrə. 1266 01:00:22,990 --> 01:00:26,410 Və bir problem çünki Bu xəttin. 1267 01:00:26,410 --> 01:00:31,780 >> Necə bir qutusu yaratmaq bilər ki, fread erişilebilir. 1268 01:00:31,780 --> 01:00:31,980 Sağ? 1269 01:00:31,980 --> 01:00:35,190 Biz bir ki, bir qutusu yaratmaq lazımdır byte böyük, bir char ölçüsü. 1270 01:00:35,190 --> 01:00:38,590 Amma biz qutusu əlçatan olmaq lazımdır bu funksiya icra zaman. 1271 01:00:38,590 --> 01:00:39,390 Belə ki, burada - 1272 01:00:39,390 --> 01:00:39,640 Bəli. 1273 01:00:39,640 --> 01:00:40,440 Hər hansı bir fikir? 1274 01:00:40,440 --> 01:00:43,615 >> STUDENT 60: Just kimi müəyyən hər hansı bir təsadüfi xarakter. 1275 01:00:43,615 --> 01:00:49,150 1276 01:00:49,150 --> 01:00:51,640 Just char bufer Bərabər etmək karakter. 1277 01:00:51,640 --> 01:00:53,795 Və sonra, orada bufer zaman - 1278 01:00:53,795 --> 01:00:54,110 >> JASON Hirschhorn: gözləyin. 1279 01:00:54,110 --> 01:00:55,110 Char bufer? 1280 01:00:55,110 --> 01:00:55,880 Belə ki, heç bir ulduz? 1281 01:00:55,880 --> 01:00:56,390 >> STUDENT 60: Bəli. 1282 01:00:56,390 --> 01:00:58,560 Ulduz almaq. 1283 01:00:58,560 --> 01:01:00,690 Bir təsadüfi xarakter bərabərdir. 1284 01:01:00,690 --> 01:01:01,460 >> JASON Hirschhorn: OK. 1285 01:01:01,460 --> 01:01:02,420 Belə ki, mənə bir verir. 1286 01:01:02,420 --> 01:01:03,170 >> STUDENT 60: Like a və ya bir şey. 1287 01:01:03,170 --> 01:01:06,160 Və sonra bufer zaman orada, bir istifadə - 1288 01:01:06,160 --> 01:01:06,420 >> STUDENT 61: Star? 1289 01:01:06,420 --> 01:01:07,650 Heç bir Oh, işareti. 1290 01:01:07,650 --> 01:01:09,000 >> STUDENT 60: işareti istifadə edin. 1291 01:01:09,000 --> 01:01:09,470 >> JASON Hirschhorn: OK. 1292 01:01:09,470 --> 01:01:11,320 Və nə fwrite haqqında? 1293 01:01:11,320 --> 01:01:14,150 >> STUDENT 60: yenidən işareti istifadə edin. 1294 01:01:14,150 --> 01:01:14,320 >> JASON Hirschhorn: Bütün hüququ. 1295 01:01:14,320 --> 01:01:20,970 Belə ki, fikir, biz bir char yaratmaq və o, bir şey qoymaq və 1296 01:01:20,970 --> 01:01:22,612 ki, char yazın. 1297 01:01:22,612 --> 01:01:23,760 >> STUDENT 60: Bəli. 1298 01:01:23,760 --> 01:01:25,916 >> JASON Hirschhorn nə insanlar düşünürsünüz? 1299 01:01:25,916 --> 01:01:27,770 >> STUDENT 62: Bu convoluted edir. 1300 01:01:27,770 --> 01:01:28,460 >> JASON Hirschhorn: OK. 1301 01:01:28,460 --> 01:01:29,760 Onu cəlb edək. 1302 01:01:29,760 --> 01:01:35,720 Belə ki, bu dəfə mən bu çəkmək gedirəm biz sonra burada yığını qırmızı, və 1303 01:01:35,720 --> 01:01:36,410 olacaq - 1304 01:01:36,410 --> 01:01:36,822 Ooh! 1305 01:01:36,822 --> 01:01:38,060 Üzr istəyirik. 1306 01:01:38,060 --> 01:01:45,930 Bu zaman biz deyilən bir şey var bufer və bu yığını var. 1307 01:01:45,930 --> 01:01:48,430 Düzəltmək? 1308 01:01:48,430 --> 01:01:51,520 Və biz ilkin, onu qənaət edirik. 1309 01:01:51,520 --> 01:01:53,830 >> Sonra biz fread üçün zəng var. 1310 01:01:53,830 --> 01:02:01,300 Nə fread bu bir byte edir etmir Bizim fayl və yerdə qoyur. 1311 01:02:01,300 --> 01:02:04,570 Bu nə qoyur şey işarə edir. 1312 01:02:04,570 --> 01:02:09,130 Bəli, biz bu ünvanı əvvəl - 1313 01:02:09,130 --> 01:02:10,250 0x0. 1314 01:02:10,250 --> 01:02:13,349 İndi biz nə ünvanı var? 1315 01:02:13,349 --> 01:02:14,650 >> STUDENT 63: Nə olursa olsun ünvanı bufer. 1316 01:02:14,650 --> 01:02:15,970 >> JASON Hirschhorn: Nə olursa olsun ünvanı bufer. 1317 01:02:15,970 --> 01:02:22,370 Bu yəqin ki, olacaq ki, kimi bir şey. 1318 01:02:22,370 --> 01:02:26,950 Yəqin ki, bir b ilə başlamaq niyyətindəyik və sonra bir f, və digər altı var 1319 01:02:26,950 --> 01:02:27,970 hexadecimal rəqəm. 1320 01:02:27,970 --> 01:02:28,480 Fərqi yoxdur. 1321 01:02:28,480 --> 01:02:29,470 Bəzi ünvanı. 1322 01:02:29,470 --> 01:02:31,410 Və biz daxil ki, ünvanını keçən edirik 1323 01:02:31,410 --> 01:02:34,790 >> Və biz bir qoymaq olacaq bu ünvanda byte şey. 1324 01:02:34,790 --> 01:02:38,470 Belə ki, biz bir qoymaq olacaq byte şey burada daxili. 1325 01:02:38,470 --> 01:02:40,800 Və sonra biz yazmaq olacaq daxilində burada heç nə. 1326 01:02:40,800 --> 01:02:43,425 1327 01:02:43,425 --> 01:02:45,380 Heç bir sualınız varmı ki, haqqında? 1328 01:02:45,380 --> 01:02:50,990 1329 01:02:50,990 --> 01:02:54,690 Kim bu kodu işləyəcək düşünür? 1330 01:02:54,690 --> 01:02:56,020 >> Sizcə sizin əl qaldırmaq Bu kodu işləyəcək. 1331 01:02:56,020 --> 01:02:57,270 Bir münasibət var. 1332 01:02:57,270 --> 01:03:00,670 1333 01:03:00,670 --> 01:03:02,500 Və kim bu kodu işləməyəcək düşünür? 1334 01:03:02,500 --> 01:03:04,610 Əl qaldırmaq. 1335 01:03:04,610 --> 01:03:06,750 Başqa hamı olmalıdır əl qaldırmaq. 1336 01:03:06,750 --> 01:03:07,670 OK. 1337 01:03:07,670 --> 01:03:09,390 Michael, siz daimi olunur? 1338 01:03:09,390 --> 01:03:10,680 >> MICHAEL: Mən qərar verə bilər. 1339 01:03:10,680 --> 01:03:12,070 Kind ortasında. 1340 01:03:12,070 --> 01:03:12,736 >> JASON Hirschhorn: Siz istəyirik ortada. 1341 01:03:12,736 --> 01:03:13,092 Birini seçin. 1342 01:03:13,092 --> 01:03:14,400 >> MICHAEL: I iman lazımdır və bu iş olacaq deyirlər. 1343 01:03:14,400 --> 01:03:14,660 >> JASON Hirschhorn: OK. 1344 01:03:14,660 --> 01:03:16,047 Siz iman və işləyir demək lazımdır? 1345 01:03:16,047 --> 01:03:26,490 1346 01:03:26,490 --> 01:03:27,020 Nə oldu? 1347 01:03:27,020 --> 01:03:28,270 >> [Interposing SƏSLƏRİ] 1348 01:03:28,270 --> 01:03:35,170 1349 01:03:35,170 --> 01:03:35,950 >> JASON Hirschhorn: No seg günah. 1350 01:03:35,950 --> 01:03:40,320 Necə kontrol edə bilərsiniz əgər iki şeyi bərabər? 1351 01:03:40,320 --> 01:03:42,060 Iki faylları bərabərdir. 1352 01:03:42,060 --> 01:03:43,300 >> TƏLƏBƏ 64: Fərqləri. 1353 01:03:43,300 --> 01:03:45,490 >> JASON Hirschhorn: Fərqləri. 1354 01:03:45,490 --> 01:03:51,630 Arasındakı fərqlərin Fərqləri çek qaytarır iki faylları, və əgər 1355 01:03:51,630 --> 01:03:52,890 heç bir şey, onlar eyni istəyirik. 1356 01:03:52,890 --> 01:03:59,030 Biz açmaq əgər, biz fayl almaq. 1357 01:03:59,030 --> 01:04:00,490 Belə ki, doğru həll idi. 1358 01:04:00,490 --> 01:04:01,780 Bunun bir daha geri nəzər salaq. 1359 01:04:01,780 --> 01:04:04,080 Biz, həqiqətən, belə gəlməmişdi başlamaq lazımdır. 1360 01:04:04,080 --> 01:04:05,520 >> Bu yəqin ki, bir az baxmaq Siz qoymaq olmasaydı təmiz 1361 01:04:05,520 --> 01:04:07,680 orada təsadüfi bir şey. 1362 01:04:07,680 --> 01:04:13,070 Bu point olan, yaratmaq üçün lazım bir şey saxlamaq üçün bəzi kosmik 1363 01:04:13,070 --> 01:04:15,530 fread və bir şey almaq fwrite həyata. 1364 01:04:15,530 --> 01:04:18,400 Və şey idi yerli ya olmaq yığını dəyişən - Siz 1365 01:04:18,400 --> 01:04:19,890 bəzi kosmik malloc'd etdik bilər. 1366 01:04:19,890 --> 01:04:23,030 >> Belə ki, biz, həqiqətən, ola bilər yazılı burada malloc və 1367 01:04:23,030 --> 01:04:25,420 ki, çalışıb olardı. 1368 01:04:25,420 --> 01:04:28,660 Və sonra biz saxlanılması olardı haradasa yığın bizim şeylər. 1369 01:04:28,660 --> 01:04:31,940 Amma bu, yəqin ki, əslində ən zərif həll. 1370 01:04:31,940 --> 01:04:34,490 Yalnız yığını bir yer yaratmaq bunlar getmək üçün. 1371 01:04:34,490 --> 01:04:37,690 1372 01:04:37,690 --> 01:04:38,990 >> Mən iki şərh olardı. 1373 01:04:38,990 --> 01:04:44,650 Siz bu növbəsində almaq, olsaydı sonra mənim şərh, bu vurdu almaq 1374 01:04:44,650 --> 01:04:47,400 aşağıdakı kimi olardı. 1375 01:04:47,400 --> 01:04:54,300 Bu 1 burada, mənə baxmaq sehrli nömrələri kimi. 1376 01:04:54,300 --> 01:04:56,860 Bu 1, fread baxımından, əhəmiyyət kəsb edir. 1377 01:04:56,860 --> 01:04:59,580 Ki, hər şeyi sayı var oxumaq və ya yazmaq üçün. 1378 01:04:59,580 --> 01:05:03,740 >> Amma burada bu bir olmalıdır yəqin ki, başqa bir şey ola. 1379 01:05:03,740 --> 01:05:05,180 Belə ki, bir həll nədir? 1380 01:05:05,180 --> 01:05:06,545 >> STUDENT 65: byte ölçüsü. 1381 01:05:06,545 --> 01:05:10,100 1382 01:05:10,100 --> 01:05:11,080 >> JASON Hirschhorn ki kimi? 1383 01:05:11,080 --> 01:05:13,130 >> STUDENT 65: char ölçüsü. 1384 01:05:13,130 --> 01:05:13,820 >> JASON Hirschhorn: char ölçüsü. 1385 01:05:13,820 --> 01:05:15,290 Bəli, byte bir növü deyil. 1386 01:05:15,290 --> 01:05:16,320 Char işlərin Beləliklə ölçüsü. 1387 01:05:16,320 --> 01:05:30,270 Biz üst ola bilər bizim kodu # ki, müəyyən. 1388 01:05:30,270 --> 01:05:33,410 Bir şey BYTE adlı bu, həqiqətən bir char var. 1389 01:05:33,410 --> 01:05:37,675 Əslində, daha yaxşı yanaşma Bu ola bilər - 1390 01:05:37,675 --> 01:05:39,391 uint. 1391 01:05:39,391 --> 01:05:40,780 Kimsə Yox Mu ki, nə? 1392 01:05:40,780 --> 01:05:44,388 1393 01:05:44,388 --> 01:05:44,840 >> Üzr istəyirik. 1394 01:05:44,840 --> 01:05:46,090 Mən geri var. 1395 01:05:46,090 --> 01:05:51,620 1396 01:05:51,620 --> 01:05:52,200 Heç bir, gözləyin. 1397 01:05:52,200 --> 01:05:53,450 Hansı yol getmək edir? 1398 01:05:53,450 --> 01:05:58,071 1399 01:05:58,071 --> 01:05:59,660 Kimsə Yox Mu ki, nə? 1400 01:05:59,660 --> 01:06:00,950 Bəli. 1401 01:06:00,950 --> 01:06:05,650 >> STUDENT 67: standartlaşdırmaq kömək alacağımı sistemləri şeyə rast ki, 1402 01:06:05,650 --> 01:06:08,760 var - imzalanmamış integers kimi 8 bayt var ki? 1403 01:06:08,760 --> 01:06:11,785 >> JASON Hirschhorn: var doğru. 1404 01:06:11,785 --> 01:06:14,310 Müxtəlif maşınlar, bir char ölçüsü - 1405 01:06:14,310 --> 01:06:15,180 adətən bir char. 1406 01:06:15,180 --> 01:06:16,100 Chars adətən bir byte var. 1407 01:06:16,100 --> 01:06:19,590 Amma digər məlumatlar növləri ölçüsü var 32-bit maşın müxtəlif ölçülü 1408 01:06:19,590 --> 01:06:21,370 64-bit maşın qarşı. 1409 01:06:21,370 --> 01:06:25,180 A uint8_t həmişə 8 bit edir - 1410 01:06:25,180 --> 01:06:27,210 həmişə bir byte. 1411 01:06:27,210 --> 01:06:29,580 >> Mən daxil etmək lazımdır ki, standart int header file. 1412 01:06:29,580 --> 01:06:35,040 Belə ki, indi, bu, yəqin ki olardı Bu kodu yazmaq üçün ən yaxşı yoldur. 1413 01:06:35,040 --> 01:06:40,160 1414 01:06:40,160 --> 01:06:41,450 Mən sehrli nömrələri qurtarmaq. 1415 01:06:41,450 --> 01:06:44,690 Və mən də bir daha məntiqi var bufer üçün yazın. 1416 01:06:44,690 --> 01:06:49,450 Bu, bir byte, sadəcə bir char deyil biz onu gözləyirik nə. 1417 01:06:49,450 --> 01:06:53,400 >> Və burada, biz, həqiqətən var bir az daha möhkəm olmuşdur. 1418 01:06:53,400 --> 01:06:55,190 Biz, bir char zəng deyilik - 1419 01:06:55,190 --> 01:06:58,630 bəlkə, kim bilir - müxtəlif ola bilər müxtəlif maşınlar ölçüsü. 1420 01:06:58,630 --> 01:07:02,025 Biz, həqiqətən bu dəqiq deyərək edirik bir byte, həmişə, nə olursa olsun. 1421 01:07:02,025 --> 01:07:05,810 Biz burada baxmaq əgər, biz cp etmək. 1422 01:07:05,810 --> 01:07:08,340 Ah-oh. 1423 01:07:08,340 --> 01:07:09,590 Nə oldu? 1424 01:07:09,590 --> 01:07:14,470 1425 01:07:14,470 --> 01:07:16,170 >> STUDENT 68: Bu işə bilər. 1426 01:07:16,170 --> 01:07:17,880 >> JASON Hirschhorn: Nə? 1427 01:07:17,880 --> 01:07:19,130 >> STUDENT 69: mi? 1428 01:07:19,130 --> 01:07:21,940 1429 01:07:21,940 --> 01:07:25,080 >> STUDENT 70: Siz etmədi bir növü kimi müəyyən edir. 1430 01:07:25,080 --> 01:07:28,684 >> STUDENT 71: Amma olmalıdır standart müəyyən edilə. 1431 01:07:28,684 --> 01:07:29,934 >> STUDENT 72: Nə olub? 1432 01:07:29,934 --> 01:07:37,660 1433 01:07:37,660 --> 01:07:40,210 >> STUDENT 73: müəyyən lazımdır bütün caps olacaq? 1434 01:07:40,210 --> 01:07:41,370 >> JASON Hirschhorn: Belə ki, deyil # müəyyən edir. 1435 01:07:41,370 --> 01:07:45,490 Əslində, bu halda, mən typedef istifadə etmək olacaq. 1436 01:07:45,490 --> 01:07:48,590 Biz kimi istifadə edirik, çünki bir yeri bir növü. 1437 01:07:48,590 --> 01:07:51,990 Belə ki, bu halda, biz, həqiqətən istəyirəm biz yeni bir növü çap etdiyiniz kimi typedef 1438 01:07:51,990 --> 01:07:54,490 byte, və bu, mahiyyətcə edir. 1439 01:07:54,490 --> 01:07:56,590 Bu # müəyyən bir az fərqli. 1440 01:07:56,590 --> 01:08:02,740 >> İndi, bizim kodu mükəmməl işləyir. 1441 01:08:02,740 --> 01:08:05,230 Belə ki, daha, # bir şey edir müəyyən, hər yerdə əvəz 1442 01:08:05,230 --> 01:08:06,780 digər şey ilə. 1443 01:08:06,780 --> 01:08:07,920 Bu, sadəcə bir makro var - 1444 01:08:07,920 --> 01:08:09,420 stenoqrafiya sehrli nömrələri qurtarmaq üçün. 1445 01:08:09,420 --> 01:08:11,360 Lakin bu halda, çünki biz istəyirik bir növü kimi istifadə - 1446 01:08:11,360 --> 01:08:12,180 burada - 1447 01:08:12,180 --> 01:08:19,880 ki, işləmək üçün, biz lazım nə byte typedef üçün. 1448 01:08:19,880 --> 01:08:21,840 >> Və biz burada müəyyən edirik. 1449 01:08:21,840 --> 01:08:24,750 Bu həqiqətən, bir struct deyil yalnız bir imzasız tam. 1450 01:08:24,750 --> 01:08:27,680 Bu, bir byte uzun. 1451 01:08:27,680 --> 01:08:31,910 Bu kodu online mövcud ola bilər, və bütün indi olmalıdır. 1452 01:08:31,910 --> 01:08:33,830 >> Belə ki, biz - 1453 01:08:33,830 --> 01:08:34,250 mükəmməl - 1454 01:08:34,250 --> 01:08:41,359 13 dəqiqə getmək üçün sol üzərində problem 5 seçin. 1455 01:08:41,359 --> 01:08:44,270 Mən birlikdə copy.c vasitəsilə gəzmək istəyirəm sonra biz qısa danışmaq lazımdır 1456 01:08:44,270 --> 01:08:47,120 digər hissələri haqqında problemin müəyyən. 1457 01:08:47,120 --> 01:08:48,899 Mənə copy.c. qoparmaq imkan 1458 01:08:48,899 --> 01:09:03,930 1459 01:09:03,930 --> 01:09:08,810 Və sərin şey biz, həqiqətən var ki, artıq bu kodu bir çox yazılı. 1460 01:09:08,810 --> 01:09:11,180 >> Biz sözün yazdı kodu yalnız Mən zaman burada çıxdı 1461 01:09:11,180 --> 01:09:13,120 öz Bu yazı. 1462 01:09:13,120 --> 01:09:16,990 Amma bu, copy.c edir əsasını təşkil ilk iki hissələri 1463 01:09:16,990 --> 01:09:22,340 whodunit.c üçün müəyyən problem olan yazmaq lazımdır, və resize.c. 1464 01:09:22,340 --> 01:09:27,050 Üçüncü və son olan Recover.c, Bu problem set hissəsi deyil, 1465 01:09:27,050 --> 01:09:29,529 bu faylı off əsaslanır. 1466 01:09:29,529 --> 01:09:32,200 >> Siz fayl yazmaq lazımdır olacaq, biz ki, bir şablon vermək 1467 01:09:32,200 --> 01:09:34,620 fayl, lakin bir şey var copy.c. ilə 1468 01:09:34,620 --> 01:09:38,675 Amma copy.c təşkil edir, çünki İlk iki hissələri, gedirik 1469 01:09:38,675 --> 01:09:42,000 İndi onun vasitəsilə gəzmək, belə ki, var nə yaxşı mənada. 1470 01:09:42,000 --> 01:09:43,640 >> Və comments bəzi üz vermək. 1471 01:09:43,640 --> 01:09:45,120 Biz artıq bu bəzi yazdıq. 1472 01:09:45,120 --> 01:09:49,220 Birincisi, biz əmin edirik biz üç dəlilləri almaq. 1473 01:09:49,220 --> 01:09:50,560 Sonra, biz fayl adını xatırlayaraq edirik. 1474 01:09:50,560 --> 01:09:52,960 Beləliklə, biz bu addımı atmış zaman biz şey kodlu - 1475 01:09:52,960 --> 01:09:54,700 zaman bizim cp. 1476 01:09:54,700 --> 01:09:56,750 Amma burada, onlar edirik bir az təmiz bu. 1477 01:09:56,750 --> 01:09:59,350 >> Onlar əmin kontrol edirik həm də faylları, yaxşı 1478 01:09:59,350 --> 01:10:00,450 onların açılması üçün əlavə. 1479 01:10:00,450 --> 01:10:04,760 Biz yalnız indi bütün bu kodu yazıb, mən deyiləm bu kodu dayanmaq niyyətində deyil. 1480 01:10:04,760 --> 01:10:09,670 Next xüsusi var ki, bəzi stuff deyil biz, istifadə etdiyiniz faylları növləri olan 1481 01:10:09,670 --> 01:10:12,240 bitmap faylları var. 1482 01:10:12,240 --> 01:10:15,660 Bitmap faylları bəzi metadata onlarla bağlı. 1483 01:10:15,660 --> 01:10:20,190 >> Belə ki, bayt ilk bir neçə fayl haqqında sizə. 1484 01:10:20,190 --> 01:10:23,460 Onlar rəng deyil image piksel. 1485 01:10:23,460 --> 01:10:25,120 Onlar fayl haqqında sizə. 1486 01:10:25,120 --> 01:10:28,220 Və siz problem dəsti vasitəsilə oxumaq əgər, daha çox məlumat lazımdır 1487 01:10:28,220 --> 01:10:33,100 metadata strukturlarının hansı növ bitmaps ilə daxil edilir. 1488 01:10:33,100 --> 01:10:39,350 >> Biz bu ilk niyə Amma ki burada bu kodu - müəyyən. 1489 01:10:39,350 --> 01:10:42,490 Biz metadata oxu - 1490 01:10:42,490 --> 01:10:45,800 metadata iki ədəd - fayl header və info header. 1491 01:10:45,800 --> 01:10:51,030 Və biz onun bəzi hissələrini yoxlanılması olunur əmin əsl bitmap fayl etmək 1492 01:10:51,030 --> 01:10:52,420 davam əvvəl. 1493 01:10:52,420 --> 01:10:55,470 >> Və yenə bu detallar biz İndi getmək lazım deyil. 1494 01:10:55,470 --> 01:10:57,720 Siz problem dəsti vasitəsilə oxumaq əgər, Bu başa düşəcəklər. 1495 01:10:57,720 --> 01:11:01,370 Uzun hekayə qısa, bu, yalnız söyləyərək, bu bir bitmap fayl və 1496 01:11:01,370 --> 01:11:02,810 təsdiq. 1497 01:11:02,810 --> 01:11:05,180 >> Next, biz bu yazıyoruz həyata fayl. 1498 01:11:05,180 --> 01:11:05,660 Biz burada görürük. 1499 01:11:05,660 --> 01:11:06,910 Biz həyata göstərici yazılı edirik. 1500 01:11:06,910 --> 01:11:09,260 1501 01:11:09,260 --> 01:11:11,320 Sonra, biz padding müəyyən edirik. 1502 01:11:11,320 --> 01:11:15,240 Belə ki, yenə kimi xüsusiyyətləri ilə bir bitmap fayl, bəzi xətləri daxildir 1503 01:11:15,240 --> 01:11:16,840 sonunda padding. 1504 01:11:16,840 --> 01:11:19,000 Və siz problem dəsti vasitəsilə oxumaq əgər, Siz padding haqqında daha çox öyrənmək lazımdır. 1505 01:11:19,000 --> 01:11:22,330 Bu padding tapmaq üçün formula edir. 1506 01:11:22,330 --> 01:11:23,610 >> Xatırlamaq vacibdir - 1507 01:11:23,610 --> 01:11:29,720 Bir bitmap ölçüsünü dəyişdirmək zaman , padding dəyişikliklər fayl. 1508 01:11:29,720 --> 01:11:31,970 Bir ölçüsünü dəyişdirmək zaman , padding dəyişikliklər fayl. 1509 01:11:31,970 --> 01:11:34,310 Bu olacaq heç 3 daha çox - 1510 01:11:34,310 --> 01:11:36,510 Bu, 3 daxil 0 olacaq. 1511 01:11:36,510 --> 01:11:38,930 Amma ölçüsünü dəyişdirmək zaman bir şey, padding dəyişikliklər. 1512 01:11:38,930 --> 01:11:47,100 >> Mən yalnız sıra bir pixel varsa, mən , padding üç bayt lazımdır, çünki 1513 01:11:47,100 --> 01:11:51,190 hər bir satır dörd Multiples var bir bitmap fayl uzun bayt. 1514 01:11:51,190 --> 01:11:56,120 Amma mən bunu ikiqat əgər, bir pixel getmək üçün iki pixel, hər biri, 1515 01:11:56,120 --> 01:11:59,510 deyək, bir byte, sonra ehtiyac etmək üçün padding iki bytes 1516 01:11:59,510 --> 01:12:00,970 dörd bərabər. 1517 01:12:00,970 --> 01:12:04,200 >> Mən bir şey ölçüsünü dəyişdirmək zaman, Mən məbləği dəyişdirmək lazımdır 1518 01:12:04,200 --> 01:12:06,551 padding Mən. 1519 01:12:06,551 --> 01:12:08,100 Hər kəsə mənada edirmi? 1520 01:12:08,100 --> 01:12:12,020 1521 01:12:12,020 --> 01:12:18,720 Sonra, biz hər cərgə üzərində təkrarlamaq, və ya bütün satır vasitəsilə. 1522 01:12:18,720 --> 01:12:21,400 Və sonra biz vasitəsilə təkrarlamaq Hər bir sıra hər sütun. 1523 01:12:21,400 --> 01:12:25,330 Biz kimi bu bitmap müalicə edirik bir grid kimi biz müalicə etdik 1524 01:12:25,330 --> 01:12:26,490 15 board. 1525 01:12:26,490 --> 01:12:29,200 >> Kimi biz kərpic müalicə zaman Biz ekranda onları çap. 1526 01:12:29,200 --> 01:12:31,350 Satır ve sütun A grid. 1527 01:12:31,350 --> 01:12:32,350 Sonra - biz bu gördüm. 1528 01:12:32,350 --> 01:12:33,840 Biz, həqiqətən, yalnız bu kodlu. 1529 01:12:33,840 --> 01:12:35,780 Biz bəzi müvəqqəti saxlama yaradılmışdır. 1530 01:12:35,780 --> 01:12:38,710 Biz sonra oxumaq, və biz onu yazmaq. 1531 01:12:38,710 --> 01:12:42,680 Bu biz yalnız nə dəqiq deyil. 1532 01:12:42,680 --> 01:12:46,760 >> Dedim Next, çünki hər bir line bəzi padding başa çatır, biz 1533 01:12:46,760 --> 01:12:48,260 ki, padding üzərində keçmək - 1534 01:12:48,260 --> 01:12:51,000 köhnə padding. 1535 01:12:51,000 --> 01:12:52,630 Və sonra biz onu geri əlavə edin. 1536 01:12:52,630 --> 01:12:55,140 Bu halda, biz yaratmaq edirik eyni dəqiq file. 1537 01:12:55,140 --> 01:12:56,180 Biz yalnız bunu çıxarmaq edirik. 1538 01:12:56,180 --> 01:12:57,700 Belə ki, bu xətt cür silly edir. 1539 01:12:57,700 --> 01:12:59,660 Biz bilər sözün yalnız daxil padding qoymaq 1540 01:12:59,660 --> 01:13:04,290 >> Amma faylının ölçüsü dəyişdirmək əgər, Siz hələ bu xətt istəyirsiniz? 1541 01:13:04,290 --> 01:13:08,510 1542 01:13:08,510 --> 01:13:11,560 Biz bir fayl ölçüsünü dəyişdirmək əgər, biz hələ keçmək istəyirəm 1543 01:13:11,560 --> 01:13:12,810 köhnə padding üzərində? 1544 01:13:12,810 --> 01:13:15,170 1545 01:13:15,170 --> 01:13:15,970 >> STUDENT 74: Bəli. 1546 01:13:15,970 --> 01:13:17,090 >> JASON Hirschhorn: Bəs biz nə. 1547 01:13:17,090 --> 01:13:19,290 Bu, yenə, sövdələşmə Çünki mənbə faylı. 1548 01:13:19,290 --> 01:13:21,570 Biz padding haqqında qayğı yoxdur mənbə faylı. 1549 01:13:21,570 --> 01:13:23,410 Biz növbəti line getmək istəyirəm. 1550 01:13:23,410 --> 01:13:28,850 Amma biz sadəcə geri qoymaq deyil padding köhnə məbləği. 1551 01:13:28,850 --> 01:13:31,540 Biz geri qoymaq lazımdır padding yeni məbləği. 1552 01:13:31,540 --> 01:13:35,810 >> Beləliklə, biz bir ölçüsü dəyişdirilməsi olduğunuz zaman fayl, biz hələ üzərində keçmək istəyirəm 1553 01:13:35,810 --> 01:13:38,270 köhnə fayl padding - nə biz oxuyursunuz. 1554 01:13:38,270 --> 01:13:40,370 Amma biz yazılı ne biz gedirik Bəzi müxtəlif geri qoymaq lazımdır 1555 01:13:40,370 --> 01:13:41,890 padding sayı ki, biz müəyyən etdik. 1556 01:13:41,890 --> 01:13:42,780 Bəli. 1557 01:13:42,780 --> 01:13:44,550 >> STUDENT 75: bu iki qaydası xətləri sağ, fərqi yoxdur? 1558 01:13:44,550 --> 01:13:46,160 Siz user edirik, çünki müxtəlif faylları. 1559 01:13:46,160 --> 01:13:46,620 >> JASON Hirschhorn: Exactly. 1560 01:13:46,620 --> 01:13:48,220 Bu iki xətləri qaydası fərqi yoxdur. 1561 01:13:48,220 --> 01:13:49,790 Biz bu xətti yazın. 1562 01:13:49,790 --> 01:13:51,430 Bu fayl üçün burada biz yazılı edirik. 1563 01:13:51,430 --> 01:13:54,370 Ki, vacibdir, belə ki, biz almaq padding hüququ məbləği. 1564 01:13:54,370 --> 01:13:57,560 Bu fayl ilə məşğul var. 1565 01:13:57,560 --> 01:13:58,560 Biz keçmək istəyirəm padding üzərində. 1566 01:13:58,560 --> 01:13:59,470 >> Biz oxumaq istəmirəm - 1567 01:13:59,470 --> 01:14:01,500 biz bir dəfə bir byte oxu edirsinizsə, biz o padding bayt haqqında qayğı yoxdur. 1568 01:14:01,500 --> 01:14:04,070 Biz növbəti line hərəkət etmək istəyirəm. 1569 01:14:04,070 --> 01:14:11,800 Nəhayət Lucy bizim üçün verdi kimi, biz faylları yaxın və 0 qayıtmaq. 1570 01:14:11,800 --> 01:14:13,890 Belə ki, bu copy.c. edir 1571 01:14:13,890 --> 01:14:17,850 Və biz həqiqətən yazdı - biz ən sərf mahiyyətcə, bu yazı bölmə. 1572 01:14:17,850 --> 01:14:18,740 >> Siz bu etmişdir. 1573 01:14:18,740 --> 01:14:22,440 Belə ki, inşallah yaxşı bir hissi var Burada neler edir. 1574 01:14:22,440 --> 01:14:25,890 Böyük fərq, vicdanla, yalnız ilə məşğul ki, bu ilk hissəsi 1575 01:14:25,890 --> 01:14:29,970 bitmap faylları xüsusiyyətləri. 1576 01:14:29,970 --> 01:14:33,570 Mən, mənim növbəti slayd kimi var biz nə üçün lazımdır? 1577 01:14:33,570 --> 01:14:35,510 Yaxşı, whodunit düşünməyə imkan verir. 1578 01:14:35,510 --> 01:14:38,080 >> Və kimsə üçün olan vasitəsilə oxumaq Problem set, biz nə 1579 01:14:38,080 --> 01:14:41,410 whodunit nə etmək lazımdır? 1580 01:14:41,410 --> 01:14:42,080 Sadəcə. 1581 01:14:42,080 --> 01:14:42,460 Aleja. 1582 01:14:42,460 --> 01:14:48,570 >> Aleja: Siz iştirak edə bilər qırmızı bildirir ki, hər piksel. 1583 01:14:48,570 --> 01:14:49,730 Və sonra - 1584 01:14:49,730 --> 01:14:50,730 cür? 1585 01:14:50,730 --> 01:14:51,860 >> JASON Hirschhorn: OK. 1586 01:14:51,860 --> 01:14:54,460 Belə ki, hər hissəsi çıxarmaq qırmızı bildirir ki, pixel. 1587 01:14:54,460 --> 01:14:57,234 Ki, bütün yaxın, lakin deyil. 1588 01:14:57,234 --> 01:14:59,780 >> STUDENT 76: Bəli, var bunu müxtəlif yollarla. 1589 01:14:59,780 --> 01:14:59,870 >> JASON Hirschhorn: OK. 1590 01:14:59,870 --> 01:15:03,070 Mənə bir yol verir. 1591 01:15:03,070 --> 01:15:08,240 >> STUDENT 76: bütün qırmızı almaq və sonra vurğulamaq mavi və yaşıl. 1592 01:15:08,240 --> 01:15:10,010 >> JASON Hirschhorn: OK. 1593 01:15:10,010 --> 01:15:11,830 Belə ki, bu yolları, həm də verilir - 1594 01:15:11,830 --> 01:15:15,210 biz bir pixel vermək kimi, səslənir, bu a, qırmızı, mavi, yaşıl səviyyəsində var. 1595 01:15:15,210 --> 01:15:19,350 Biz nisbi səviyyəsi dəyişdirmək istədiyiniz Bu asılı olaraq, qırmızı, mavi, yaşıl 1596 01:15:19,350 --> 01:15:20,740 ki, pixel haqqında. 1597 01:15:20,740 --> 01:15:28,380 Bu kodu biz dəyişdirmək lazımdır nisbi qırmızı, mavi, yaşıl 1598 01:15:28,380 --> 01:15:29,720 bir pixel səviyyəsi. 1599 01:15:29,720 --> 01:15:30,600 Biz oxumaq sonra - 1600 01:15:30,600 --> 01:15:32,520 biz onu yazmaq əvvəl? 1601 01:15:32,520 --> 01:15:34,564 Mənə line sıra verir. 1602 01:15:34,564 --> 01:15:35,950 >> Birden TƏLƏBƏLƏR: 83. 1603 01:15:35,950 --> 01:15:37,320 >> JASON Hirschhorn: 83. 1604 01:15:37,320 --> 01:15:38,570 Belə ki, burada. 1605 01:15:38,570 --> 01:15:40,830 1606 01:15:40,830 --> 01:15:45,710 Whodunit üçün, kodu sizə lazım write bütün orada getmək lazımdır. 1607 01:15:45,710 --> 01:15:47,640 Və yalnız kod yazmaq lazımdır. 1608 01:15:47,640 --> 01:15:51,520 Biz eşitdim kimi, bütün etmək lazımdır, çünki etmək, bu nisbi mavi dəyişdirmək 1609 01:15:51,520 --> 01:15:54,420 hər pixel qırmızı, yaşıl səviyyəsi. 1610 01:15:54,420 --> 01:15:58,250 >> Siz oxumaq etdik və indi istəyirik onu yazmaq üçün gedir. 1611 01:15:58,250 --> 01:16:03,100 Necə əldə edirsiniz - Mən bu şey varsa burada, üç adlanır və bu, var 1612 01:16:03,100 --> 01:16:04,570 RGBTRIPLE yazın - 1613 01:16:04,570 --> 01:16:08,650 yaxşı, biz bmp.h baxdı əgər, RGBTRIPLE nədir? 1614 01:16:08,650 --> 01:16:11,450 1615 01:16:11,450 --> 01:16:12,700 >> STUDENT 77: Bu struct var. 1616 01:16:12,700 --> 01:16:17,440 1617 01:16:17,440 --> 01:16:18,900 >> JASON Hirschhorn: RGBTRIPLE yapı'n. 1618 01:16:18,900 --> 01:16:22,330 Biz aşağı burada görürük. 1619 01:16:22,330 --> 01:16:26,600 Və mən, demək, çıxış etmək istədiyini, əgər struct qırmızı səviyyəsi, necə Mən 1620 01:16:26,600 --> 01:16:30,005 bu struct qırmızı səviyyəsi daxil olmaq? 1621 01:16:30,005 --> 01:16:37,280 >> [CLASS Murmurs] 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: Elədir? 1625 01:16:48,856 --> 01:16:53,040 >> STUDENT 79: Bu üç olmalıdır əvəzinə RGBTRIPLE dot dot? 1626 01:16:53,040 --> 01:16:54,120 >> JASON Hirschhorn: Triple. 1627 01:16:54,120 --> 01:16:56,700 Triple yerli dəyişən, belə ki, burada, burada heç bir göstəricilər var. 1628 01:16:56,700 --> 01:16:58,400 Beləliklə, biz yalnız dot notation istifadə edin. 1629 01:16:58,400 --> 01:17:00,480 Bu mənə qırmızı səviyyədə verəcək. 1630 01:17:00,480 --> 01:17:06,180 Mən bunu dəyişmək istəyirsinizsə, mən yalnız müəyyən müxtəlif bir şey bərabərdir. 1631 01:17:06,180 --> 01:17:13,190 Belə ki, yenə kodu bu xətt çatmaz bu struct daxilində dəyişən, və 1632 01:17:13,190 --> 01:17:15,070 biz yeni bir şey üçün qura bilərsiniz. 1633 01:17:15,070 --> 01:17:20,040 >> Belə ki whodunit üçün, yenidən, bu, əslində, biz nə etmək lazımdır. 1634 01:17:20,040 --> 01:17:21,170 Çox sadə. 1635 01:17:21,170 --> 01:17:25,020 Yalnız bəzi nisbi səviyyəsi dəyişdirmək və kod gedir bu deyil. 1636 01:17:25,020 --> 01:17:27,720 Digər tərəfdən, ölçüsünü, bir az trickier edir. 1637 01:17:27,720 --> 01:17:30,900 Əslində, ölçüsünü yəqin ki, Bu problemin trickiest hissəsi seçin. 1638 01:17:30,900 --> 01:17:32,720 Biz artıq getmək üçün üç dəqiqə var. 1639 01:17:32,720 --> 01:17:34,910 >> Ancaq yenə də, biz artıq yazdıq Bu kodu çox, belə ki, biz 1640 01:17:34,910 --> 01:17:36,500 olduqca tanış olmalıdır. 1641 01:17:36,500 --> 01:17:40,750 Biz nə istədiyim bəzi şeylər hansılardır Siz artıq oxumaq sonra əgər, ölçüsünü 1642 01:17:40,750 --> 01:17:43,470 Problem set? 1643 01:17:43,470 --> 01:17:45,290 Sən onları mənə versələr, biz onlar haqqında danışmaq olar. 1644 01:17:45,290 --> 01:17:47,340 Biz nə istəyirik bəzi şeylər hansılardır? 1645 01:17:47,340 --> 01:17:47,970 >> STUDENT 80: Şaquli - 1646 01:17:47,970 --> 01:17:52,360 belə ki, üfüqi ölçüsünü var lakin şaquli eləcə ölçüsünü? 1647 01:17:52,360 --> 01:17:58,475 >> JASON Hirschhorn: Biz sunulur əgər pixel, və biz bir tərəfindən ölçüsünü istəyirəm 1648 01:17:58,475 --> 01:18:03,460 iki amil, indi olmalıdır üfüqi boyutlandırılır və boyutlandırılır 1649 01:18:03,460 --> 01:18:05,220 şaquli. 1650 01:18:05,220 --> 01:18:06,640 Ki, hissi edirmi? 1651 01:18:06,640 --> 01:18:07,060 Bəli. 1652 01:18:07,060 --> 01:18:09,300 Belə ki, yəqin ki, var böyük problem. 1653 01:18:09,300 --> 01:18:10,430 Və biz bir Saniyə ki, haqqında danışmaq lazımdır. 1654 01:18:10,430 --> 01:18:11,065 Bəli. 1655 01:18:11,065 --> 01:18:15,270 >> STUDENT 81: Mən bu fikir yolu Siz çap həyata lazım idi - 1656 01:18:15,270 --> 01:18:15,490 >> JASON Hirschhorn: gözləyin. 1657 01:18:15,490 --> 01:18:17,580 Siz nə bizə deyil. 1658 01:18:17,580 --> 01:18:20,620 Biz məntiq danışmaq olacaq. 1659 01:18:20,620 --> 01:18:21,870 >> STUDENT 81: OK. 1660 01:18:21,870 --> 01:18:25,090 1661 01:18:25,090 --> 01:18:27,410 Sual nə idi? 1662 01:18:27,410 --> 01:18:28,892 >> JASON Hirschhorn: Siz yalnız Sizin əl qaldırdı. 1663 01:18:28,892 --> 01:18:31,600 Heç bir sual var idi. 1664 01:18:31,600 --> 01:18:32,520 Mənə təqdim edək. 1665 01:18:32,520 --> 01:18:34,560 Mənə yalnız bu qısa müzakirə edək. 1666 01:18:34,560 --> 01:18:38,400 Belə ki, biz, biz bir pixel istəyirəm həm üfüqi, onu kopya və 1667 01:18:38,400 --> 01:18:39,360 şaquli. 1668 01:18:39,360 --> 01:18:48,920 Belə ki, ideal nə biz burada, biz Bizim pixel oxumaq, biz onu yazmaq 1669 01:18:48,920 --> 01:18:51,690 dəfə lakin çox. 1670 01:18:51,690 --> 01:18:54,720 >> Amma sonra biz, burada oyun var, çünki sonra biz keçmək istəyirəm 1671 01:18:54,720 --> 01:18:57,660 növbəti line və yazmaq növbəti xətti başlayan. 1672 01:18:57,660 --> 01:19:02,960 Beləliklə, biz həm kopya etmək istəyirsinizsə üfüqi və şaquli, nə 1673 01:19:02,960 --> 01:19:05,050 Bunu etmək üçün yaxşı bir yol - 1674 01:19:05,050 --> 01:19:06,780 yaxşı bir olsa bunu? 1675 01:19:06,780 --> 01:19:11,950 Beləliklə, biz daim axtarmaq lazım deyil Bizim fayl ətrafında şeyi yerləşdirmək. 1676 01:19:11,950 --> 01:19:14,360 >> Bu sual ola bilər mənada, amma düşünürəm 1677 01:19:14,360 --> 01:19:15,800 ona cavab kömək edəcək. 1678 01:19:15,800 --> 01:19:17,210 >> STUDENT 82: bir sıra yaradın? 1679 01:19:17,210 --> 01:19:20,090 >> JASON Hirschhorn: Belə edək edirəm bir sıra kimi hər bir fayl. 1680 01:19:20,090 --> 01:19:22,550 Nin satır baxımından hesab edək. 1681 01:19:22,550 --> 01:19:26,670 Biz kiçik bizim ilk sıraya varsa şəkil, biz ki, sıra edə bilərsiniz 1682 01:19:26,670 --> 01:19:30,640 böyük bir şəkil bir böyük sıra daxil, və sonra Lakin ki, sıra kopya 1683 01:19:30,640 --> 01:19:34,250 bu təkrar etmək lazımdır bir çox dəfə, daha pixel pixel tərəfindən gedən daha, 1684 01:19:34,250 --> 01:19:37,260 zaman confusing olur faylları ilə məşğul. 1685 01:19:37,260 --> 01:19:38,730 >> Biz əgər çünki - 1686 01:19:38,730 --> 01:19:41,260 I yer həyata çalışan alıram. 1687 01:19:41,260 --> 01:19:46,490 Bu, bizim fayl və biz var ki, əgər orada bir pixel, və biz bunu qoymaq istəyirəm 1688 01:19:46,490 --> 01:19:49,840 orada, biz hələ də bəzi şeylər var orada biz olduğunuzda getmək lazımdır ki, 1689 01:19:49,840 --> 01:19:51,450 yazılı və yeni fayl yaratmaq - 1690 01:19:51,450 --> 01:19:53,250 Bizim fayl ki, iki dəfə böyük. 1691 01:19:53,250 --> 01:19:56,820 >> Amma bu fayl funksiyaları ilə həqiqətən çətindir yeni xətlərin ətrafında keçmək 1692 01:19:56,820 --> 01:20:00,260 kimi, sonra burada geri və orada şeyi qoymaq. 1693 01:20:00,260 --> 01:20:04,500 Bu şey üçün demək olar ki, mümkün deyil ki, kimi ki, anlamlı əgər. 1694 01:20:04,500 --> 01:20:10,180 Biz satır baxımından hesab edirəm ki, belə ki, biz bizim sıra almaq və sonra qoyun - 1695 01:20:10,180 --> 01:20:11,720 şaquli satır kopya. 1696 01:20:11,720 --> 01:20:15,860 >> Və biz boyutlandırma ilə məşğul necə şaquli üfüqi deyil. 1697 01:20:15,860 --> 01:20:18,810 Bu cür sürətli idi və bir az confusing. 1698 01:20:18,810 --> 01:20:22,375 Təəssüf ki, bizim vaxt qədər. 1699 01:20:22,375 --> 01:20:27,340 Mən sizin üçün kənarda durmaq edəcək burada haqqında suallarınız olan 1700 01:20:27,340 --> 01:20:30,500 bərpa, o cümlədən problem set. 1701 01:20:30,500 --> 01:20:32,320 >> Belə ki, indi üçün təxirə bildirin. 1702 01:20:32,320 --> 01:20:34,480 Və yenə, Hər hansı bir sualınız varsa, Biz kənarda sohbet edə bilərsiniz. 1703 01:20:34,480 --> 01:20:38,294