1 00:00:00,000 --> 00:00:07,810 2 00:00:07,810 --> 00:00:09,840 >> JASON HIRSCHHORN: স্বাগতম, সপ্তাহ 6 সবাই,. 3 00:00:09,840 --> 00:00:14,790 আমি ভাল জীবিত আপনি সব দেখতে খুশি এবং ক্যুইজ 0 পরে, কারণ আমি জানি যে, 4 00:00:14,790 --> 00:00:15,810 একটু রুক্ষ ছিল. 5 00:00:15,810 --> 00:00:18,370 কিন্তু সৌভাগ্যক্রমে, আপনি সব অবিশ্বাস্যভাবে ভাল. 6 00:00:18,370 --> 00:00:21,680 তাই যে বিস্ময়কর. 7 00:00:21,680 --> 00:00:25,840 আপনি আমার বিভাগে হন, আমি সবচেয়ে দিয়েছি আপনাদের মধ্যে ইতিমধ্যে আপনার ক্যুইজ ব্যাক. 8 00:00:25,840 --> 00:00:28,050 >> আপনি একটি দম্পতি, আমি মিটিং করছি ক্লাসের পরে. 9 00:00:28,050 --> 00:00:32,360 এবং যদি আপনি একটি এক্সটেনশন ছাত্র এবং যদি আপনি ফিরে আপনার ব্যঙ্গ পাইনি 10 00:00:32,360 --> 00:00:35,490 এখনো, আপনার TF সম্ভবত এটি কাজ এবং এটি শূন্য, এবং এটি ফিরে পাবেন 11 00:00:35,490 --> 00:00:36,490 আপনার কাছে খুব শীঘ্রই. 12 00:00:36,490 --> 00:00:39,650 যারা তাই আমার এক্সটেনশন ছাত্র এই মুহূর্তে পর্যবেক্ষক - আশা বাস - 13 00:00:39,650 --> 00:00:42,880 আমি আপনার ক্যুইজ পাবেন খুব শীঘ্রই হিসাবে ভাল. 14 00:00:42,880 --> 00:00:45,670 >> নিম্নরূপ আজকের জন্য আমাদের বিষয়সূচি হয়. 15 00:00:45,670 --> 00:00:50,170 প্রথমত, আমরা কিছু পুনরালোচনা চলুন CS50 আপনার জন্য উপলব্ধ করা হয় যে সম্পদ. 16 00:00:50,170 --> 00:00:54,590 আমরা পরের ক্যুইজ 0 ওভার যেতে যাচ্ছে, এবং করছি আমি কোন প্রশ্ন কেহ উত্তর পাবেন 17 00:00:54,590 --> 00:00:57,360 বিশেষ সমস্যা সম্পর্কে আছে. 18 00:00:57,360 --> 00:01:02,050 এবং তারপর, আমরা ধরে যাওয়া হবে ফাইল ইনপুট / আউটপুট এবং সমস্যা 5 সেট. 19 00:01:02,050 --> 00:01:07,360 যারা গত দুই বিষয় নিতে হবে অধ্যায় বাল্ক আজ পর্যন্ত. 20 00:01:07,360 --> 00:01:11,680 >> আমি একটি হিসাবে প্রতি সপ্তাহে এই তালিকা পেশ করা আপনি সব করতে, কিন্তু কোর অনুস্মারক 21 00:01:11,680 --> 00:01:14,650 অধ্যায়, আমরা শুধুমাত্র 90 মিনিট আছে - আমরা সবকিছু আবরণ করতে পারবেন না যে আমি 22 00:01:14,650 --> 00:01:16,280 আপনাকে বলছি জন্য আবরণ চাই. 23 00:01:16,280 --> 00:01:21,170 কিন্তু আমরা জন্য সম্পদ একটি টন আছে আপনি জানতে পারেন হিসাবে আপনার উপর আঁকা 24 00:01:21,170 --> 00:01:24,000 মাধ্যমে উপাদান এবং কাজ আপনার সমস্যার সেট করে. 25 00:01:24,000 --> 00:01:30,810 >> আমি অনলাইনে একটি টেক্সট আছে একটি অনুস্মারক আপনি যদি পূরণ করতে আপনার জন্য সেট আপ বক্স, 26 00:01:30,810 --> 00:01:33,250 আমার জন্য কোন মতামত, ধনাত্মক এবং উভয় 27 00:01:33,250 --> 00:01:35,180 অধ্যায় সম্পর্কে, গঠনমূলক. 28 00:01:35,180 --> 00:01:38,600 যে URL টি সঠিক নিচে এখানে অবস্থিত. 29 00:01:38,600 --> 00:01:43,250 আপনার কোন আছে সুতরাং, যদি একটি মুহূর্ত গ্রহণ করুন মতামত, কিনা অধ্যায় সময়, 30 00:01:43,250 --> 00:01:48,030 বা পরে, বা পরে আপনি ভিডিও দেখতে অনলাইন, সম্পর্কে আপনার মতামত দিতে. 31 00:01:48,030 --> 00:01:52,100 আমি সত্যিই তা যেকোন এবং সমস্ত প্রশংসা করি. 32 00:01:52,100 --> 00:01:55,730 >> তাই আমি ছোট কথোপকথন জমিদারি করছি আমার অনেক সঙ্গে 33 00:01:55,730 --> 00:01:59,350 সপ্তাহ জুড়ে ছাত্র - আমি হাত হিসেবে ফিরে ক্যুইজ, বিষয়ে কথা 34 00:01:59,350 --> 00:02:01,480 অবশ্যই, আপনি করছেন কিভাবে দেখছি. 35 00:02:01,480 --> 00:02:05,120 আর এক থিম উপর চলে আসে এবং হয়েছে উপর বিষয়ে কথা এ - এ 36 00:02:05,120 --> 00:02:05,660 বিশেষ - 37 00:02:05,660 --> 00:02:07,710 সমস্যা সেট করে. 38 00:02:07,710 --> 00:02:13,090 এবং আমি যে থিম encapsulated আছে এই মুহূর্তে বোর্ডে. 39 00:02:13,090 --> 00:02:16,630 >> মূলত, একটি পার্থক্য আছে কিছু যে মধ্যে বাঁক মধ্যে 40 00:02:16,630 --> 00:02:19,590 সঠিকভাবে এবং কিছু কাজ যে ভাল হয়. 41 00:02:19,590 --> 00:02:22,920 অধিকাংশ মানুষ চমত্কার হয়েছে করছেন শুদ্ধি শর্তাবলী - 42 00:02:22,920 --> 00:02:25,460 সব psets নেভিগেশন 5 এর বা 4 এর. 43 00:02:25,460 --> 00:02:27,930 অধিকাংশ মানুষ পাচ্ছেন ঐ সময় সব. 44 00:02:27,930 --> 00:02:31,150 >> তবে, শুধুমাত্র এই কারণে আপনি কাজ করেছি কিছু অধিকার আপনি করেছি মানে এই নয় 45 00:02:31,150 --> 00:02:34,450 হিসাবে elegantly কিছু কাজ, বা দক্ষতার সঙ্গে, অথবা হিসাবে পরিচ্ছন্নভাবে আপনি হিসাবে 46 00:02:34,450 --> 00:02:35,270 এটা কাজ করে থাকতে পারে. 47 00:02:35,270 --> 00:02:36,790 এবং যে কি নকশা - 48 00:02:36,790 --> 00:02:39,230 এবং একটি ক্ষুদ্রতর ডিগ্রী, শৈলী - 49 00:02:39,230 --> 00:02:40,450 অক্ষ জন্য. 50 00:02:40,450 --> 00:02:45,130 তাই আমি আপনি সব ঠেলাঠেলি, এবং অন্যান্য টিএফএস am শুধুমাত্র না ঘুরে যাও, আপনাকে বলছি ঠেলাঠেলি হয় 51 00:02:45,130 --> 00:02:48,320 সঠিক, কিন্তু ঘুরিয়ে যে জিনিস ভাল কোডেড যে জিনিসের মধ্যে. 52 00:02:48,320 --> 00:02:53,060 >> Loops জন্য অপ্রয়োজনীয় করছেন না, ভেরিয়েবল যদি পুনঃগণনা না 53 00:02:53,060 --> 00:02:53,800 আপনি করতে হবে না. 54 00:02:53,800 --> 00:02:58,520 উদাহরণস্বরূপ, সেট ব্যাক সমস্যা খুঁজছেন 4, উপর ইট স্থাপন হলে 55 00:02:58,520 --> 00:03:03,070 পর্দা, প্রত্যেক সারি - একটি প্রতি ইটের প্রদত্ত সারি একই Y-তুল্য আছে - 56 00:03:03,070 --> 00:03:04,390 একই উচ্চতা সমন্বয় সাধন. 57 00:03:04,390 --> 00:03:07,930 >> Y-সমন্বয় সাধন করতে হবে না তাই অভ্যন্তর ভেতরে গণনা করা 58 00:03:07,930 --> 00:03:11,070 আপনি সম্ভবত যে জন্য লুপ নেস্টেড পর্দায় যারা ইট রাখা. 59 00:03:11,070 --> 00:03:14,030 এটি শুধুমাত্র প্রতিটি গণনা করা প্রয়োজন সময় আপনি একটি সারিতে সুইচ, অথবা 60 00:03:14,030 --> 00:03:15,200 একটি সারি নিচে সরানো. 61 00:03:15,200 --> 00:03:19,760 10 ইষ্টকদ্বারা একটি মধ্যে রয়েছে সুতরাং যদি বলতে সারি, প্রতিটি ইট একই থাকতে পারে 62 00:03:19,760 --> 00:03:22,260 Y-তুল্য, এবং Y-তুল্য যে শুধু হিসাব করা যায় 63 00:03:22,260 --> 00:03:23,550 ঐ সব জন্য একবার. 64 00:03:23,550 --> 00:03:27,810 >> এটা 10 গণনা করা না প্রয়োজন বার, কিংবা যে হিসাব প্রয়োজন 65 00:03:27,810 --> 00:03:30,220 প্রকৃত মধ্যে ঘটতে ফাংশন কল - 66 00:03:30,220 --> 00:03:33,020 নতুন gracked ফাংশন কল. 67 00:03:33,020 --> 00:03:37,820 সুতরাং যে জন্য একটু বিভ্রান্ত ছিল আপনি, আরো জেনেরিক, জিনিস যে 68 00:03:37,820 --> 00:03:40,730 প্রতি একক সময় ঘটতে করতে হবে না আপনি করা উচিত হবে একটি জন্য লুপ দিয়ে যেতে 69 00:03:40,730 --> 00:03:42,900 জন্য লুপ ভিতর করা, এবং উচিত না আপনি যেতে প্রত্যেক সময় ঘটবে 70 00:03:42,900 --> 00:03:44,080 জন্য লুপের মাধ্যমে. 71 00:03:44,080 --> 00:03:49,270 >> আমরা দেখেছি আরেকটি ভাল ডিজাইন উদাহরণ 15 জন্য সপ্তাহ 3, আপনি রাখতে পারে 72 00:03:49,270 --> 00:03:50,500 শূন্য ট্র্যাক. 73 00:03:50,500 --> 00:03:53,600 তাই আপনি যদি, আপনি বোর্ড আরম্ভ হলে সংরক্ষণ - একটি বিশ্বব্যাপী পরিবর্তনশীল মধ্যে, সম্ভবত - 74 00:03:53,600 --> 00:03:56,140 x এবং শূন্য Y-তুল্য. 75 00:03:56,140 --> 00:03:57,520 এবং তারপর যখনই আপনি - 76 00:03:57,520 --> 00:04:00,310 আপনার পদক্ষেপ ফাংশন, যখনই আপনি করতে একটি সফল পদক্ষেপ, আপনি আপডেট 77 00:04:00,310 --> 00:04:02,040 শূন্য অবস্থান. 78 00:04:02,040 --> 00:04:06,240 >> যে কাজ করতে হচ্ছে থেকে আপনি সংরক্ষণ করতে হবে মাধ্যমে সন্ধান করতে loops জন্য নেস্টেড 79 00:04:06,240 --> 00:04:10,700 আপনার সরানো ফাংশন প্রতিটি সময় বোর্ড এবং শূন্য খুঁজে, বা টালি খুঁজে, 80 00:04:10,700 --> 00:04:12,460 এবং তারপর পরবর্তী তা কি চেক. 81 00:04:12,460 --> 00:04:16,329 পরিবর্তে, আপনি অবস্থান আছে শূন্য, আপনি শুধু নিচে, উপরে সন্ধান করতে পারেন 82 00:04:16,329 --> 00:04:21,160 এবং এটি বাম এবং ডান, খুঁজে আপনি করছিলেন টালি. 83 00:04:21,160 --> 00:04:24,970 >> তাই আমরা করছি প্রোগ্রাম শর্তাবলী লেখা, তারা পর্যাপ্ত স্থান না হন 84 00:04:24,970 --> 00:04:28,580 যে এই নকশা সিদ্ধান্ত কিছু সত্যিই ব্যাহত করতে যাচ্ছি আপনার 85 00:04:28,580 --> 00:04:31,670 প্রোগ্রাম, বা, এটা আরো ধীরে ধীরে সঞ্চালন করতে বা সম্ভবতঃ মেমরি ফুরিয়ে. 86 00:04:31,670 --> 00:04:35,030 কিন্তু আমরা এখনও আপনাকে বলছি ঠেলাঠেলি করছি লিখতে হিসেবে মার্জিত এবং 87 00:04:35,030 --> 00:04:36,450 সম্ভব দক্ষ কোড. 88 00:04:36,450 --> 00:04:39,910 >> তাই আপনি যদি জিনিষ লেখা শেষ একটি উল্লেখযোগ্যভাবে বৃহত্তর আছে 89 00:04:39,910 --> 00:04:44,660 সুযোগ, তারা ভালো দিয়ে লেখা হবে সঠিক হচ্ছে ছাড়াও ডিজাইন. 90 00:04:44,660 --> 00:04:46,300 সুতরাং আপনি আছে একটি সংখ্যা যে আনা. 91 00:04:46,300 --> 00:04:48,560 যে আমরা খুঁজছেন কিছু - আমরা অবিরত চলুন কিছু 92 00:04:48,560 --> 00:04:49,840 আপনার উপর বলছি ধাক্কা. 93 00:04:49,840 --> 00:04:52,460 >> আপনি কি কখনও সম্পর্কে কোনো প্রশ্ন থাকে, আপনার প্রোগ্রাম ডিজাইন, বিনামূল্যে হতে 94 00:04:52,460 --> 00:04:56,870 আমার কাছে পৌঁছান, এবং আমি খুশি করার আপনার সাথে আপনার প্রোগ্রাম ভিতর দিয়ে হেটে, 95 00:04:56,870 --> 00:05:01,320 এবং নকশা কিছু নির্দেশ আপনার তৈরি করা, এবং আপনি কিছু দিতে সিদ্ধান্ত 96 00:05:01,320 --> 00:05:06,240 কিভাবে কাজটা এমনকি ভাল নকশা সিদ্ধান্ত. 97 00:05:06,240 --> 00:05:08,870 >> সুতরাং আমরা যান চলুন ক্যুইজ 0 বিষয়ে কথা হয়. 98 00:05:08,870 --> 00:05:11,300 আমরা তা করতে আগে, কেহ না সম্পর্কে কোন প্রশ্ন থাকে কি 99 00:05:11,300 --> 00:05:14,252 আমি এ পর্যন্ত আবৃত করেছি? 100 00:05:14,252 --> 00:05:21,500 >> [খচ্মচে গোলমাল] 101 00:05:21,500 --> 00:05:22,750 >> JASON HIRSCHHORN: সাত যাও. 102 00:05:22,750 --> 00:05:23,250 ঠিক আছে. 103 00:05:23,250 --> 00:05:24,970 এর একটি বিট জন্য ক্যুইজ 0 সম্পর্কে কথা বলুন. 104 00:05:24,970 --> 00:05:26,700 আপনি অধিকাংশ আপনার ক্যুইজ 0 এর ফিরে আছে. 105 00:05:26,700 --> 00:05:29,820 আপনি না আশা না আপনি এটা একটু মনে রাখবেন. 106 00:05:29,820 --> 00:05:34,770 কিন্তু এর পরে ক্যুইজ 0, আপনি গ্রহণ করেছি এছাড়াও অনলাইন পিডিএফ অ্যাক্সেস আছে 107 00:05:34,770 --> 00:05:35,890 নমুনা সমাধান. 108 00:05:35,890 --> 00:05:39,480 >> কেহ আগে কোন প্রশ্ন আছে আমরা যে বিষয়ে সপ্তাহে এর উপাদান মধ্যে তিড়িং লাফ 109 00:05:39,480 --> 00:05:41,520 ক্যুইজ 0 একটি বিশেষ সমস্যা - 110 00:05:41,520 --> 00:05:44,630 কেন উত্তরটি কি এটা আছে? 111 00:05:44,630 --> 00:05:47,255 কেহ সম্পর্কে কিছু বিভ্রান্ত হয়? 112 00:05:47,255 --> 00:05:50,230 আপনি সঠিক সমস্যা আছে, কিন্তু এমনকি আপনি যদি শুধু আমাকে এটা একটু ব্যাখ্যা চাই 113 00:05:50,230 --> 00:05:52,640 আরো, আমি এখন তা করার খুশি. 114 00:05:52,640 --> 00:05:57,800 >> তাই আমি আপনাকে বলছি জিজ্ঞাসা কিছু সঙ্গে প্রস্তুত আসা 115 00:05:57,800 --> 00:05:59,440 ক্যুইজ 0 সম্পর্কে চিন্তা. 116 00:05:59,440 --> 00:06:02,660 সুতরাং যারা আমাদের পেতে চাই একটি প্রশ্ন দিয়ে বা শুরু 117 00:06:02,660 --> 00:06:04,655 ক্যুইজ 0 সম্পর্কে মন্তব্য? 118 00:06:04,655 --> 00:06:07,435 119 00:06:07,435 --> 00:06:10,410 >> [কাগজ খচ্মচে] 120 00:06:10,410 --> 00:06:11,470 >> JASON HIRSCHHORN: নেই সবাই পুরোপুরি হয়নি. 121 00:06:11,470 --> 00:06:12,720 তাই আমি জানি [LAUGHS] 122 00:06:12,720 --> 00:06:15,950 কিছু প্রশ্ন করা আছে আছে ক্যুইজ 0 ওপর. 123 00:06:15,950 --> 00:06:27,940 124 00:06:27,940 --> 00:06:28,590 ঠিক আছে. 125 00:06:28,590 --> 00:06:29,210 হ্যাঁ. 126 00:06:29,210 --> 00:06:29,600 Ompica. 127 00:06:29,600 --> 00:06:30,520 >> OMPICA: সংখ্যা 10. 128 00:06:30,520 --> 00:06:33,560 >> JASON HIRSCHHORN: সংখ্যা 10. 129 00:06:33,560 --> 00:06:35,400 কোনটি সংখ্যা 10 ছিল? 130 00:06:35,400 --> 00:06:35,840 >> OMPICA: - 131 00:06:35,840 --> 00:06:36,420 >> JASON HIRSCHHORN: আমি haven't - 132 00:06:36,420 --> 00:06:37,670 >> OMPICA: দ্য মধ্যে রয়েছে - 133 00:06:37,670 --> 00:06:40,060 134 00:06:40,060 --> 00:06:42,180 >> JASON HIRSCHHORN: সংখ্যা 10 আটটি ছিল আমি - আমি আট লেখা? 135 00:06:42,180 --> 00:06:42,980 >> OMPICA: হ্যাঁ. 136 00:06:42,980 --> 00:06:43,630 >> JASON HIRSCHHORN: ঠিক আছে. 137 00:06:43,630 --> 00:06:47,390 তাই আরেকটি প্রশ্ন, আপনি হতে পারে আমি দূরদর্শী am ছিল জিজ্ঞাসা? 138 00:06:47,390 --> 00:06:48,630 উত্তর হবে হ্যাঁ. 139 00:06:48,630 --> 00:06:52,060 ব্যঙ্গ আগে বিভাগে, আমি জিজ্ঞাসা আপনাকে বলছি স্টার্লিং উভয় কোড করার জন্য এবং 140 00:06:52,060 --> 00:06:52,980 আট আমি করতে. 141 00:06:52,980 --> 00:06:54,770 দুইটাই ঘটেছে ব্যঙ্গ প্রদর্শিত. 142 00:06:54,770 --> 00:06:57,510 তাই আশা করছি, আপনাকে অর্থ প্রদান যে মনোযোগ. 143 00:06:57,510 --> 00:07:02,520 >> আপনি ছিল, তাহলে আপনার থাকতে হবে সম্ভবত ঐ দুটি উপর ভাল কাজ করেছেন. 144 00:07:02,520 --> 00:07:06,030 কিন্তু আট আমি, আমরা কি না আসলে কোড এটা বর্গ, কিন্তু এটি আবার,, ছিল 145 00:07:06,030 --> 00:07:07,500 ব্যঙ্গ উপর জিজ্ঞাসা. 146 00:07:07,500 --> 00:07:13,270 তাই নিতে জিনিষ কয়েক আমি আট কোডিং করার সময় মনে রাখবেন. 147 00:07:13,270 --> 00:07:17,320 প্রথম জিনিস, প্রশ্ন প্রতি ছিল আপনি চেক করতে প্রয়োজন যে যদি স্ট্রিং 148 00:07:17,320 --> 00:07:20,300 নাল সমান ছিল. 149 00:07:20,300 --> 00:07:28,060 >> কয়েক জনের পরে চেক করতে চেষ্টা প্রোগ্রামে গুলি যদি বন্ধনী আমি ছিল - 150 00:07:28,060 --> 00:07:30,940 যে যাতে একটি নির্দিষ্ট অক্ষর স্ট্রিং - নাল সমান ছিল. 151 00:07:30,940 --> 00:07:35,600 কিন্তু যে নাল মূলত হল, মনে রাখবেন - এটা মনে ভাল 152 00:07:35,600 --> 00:07:39,100 একটি শূন্য পয়েন্টার হিসেবে নাল - শূন্য একটি পয়েন্টার - 153 00:07:39,100 --> 00:07:40,920 মেমরির মধ্যে কোথাও যেখানে আপনি প্রবেশ না করতে পারেন. 154 00:07:40,920 --> 00:07:44,730 >> তাই যদি কিছু আপনি নাল সমান এটি সক্রিয়া করা হয় নি জানি যে, 155 00:07:44,730 --> 00:07:46,430 অথবা সেখানে কিছুই নেই. 156 00:07:46,430 --> 00:07:50,950 তাই এস, একটি গৃহস্থালি তারকা গুলি হল বন্ধনী আমি একটি গৃহস্থালি হয়. 157 00:07:50,950 --> 00:07:57,410 সুতরাং, নাল গুলি তুলনা জ্ঞান করে তোলে কিন্তু গুলি বন্ধনী আমি নাল. 158 00:07:57,410 --> 00:07:59,390 কিন্তু আবার - তাই প্রথম যে কাজটা ছিল আপনাকে যা অনুমিত হয় যে - 159 00:07:59,390 --> 00:08:03,510 নিশ্চিত যে চেক আপনি আসলে একটি বাস্তব স্ট্রিং পেয়েছেন. 160 00:08:03,510 --> 00:08:08,020 >> এর পরে, আপনি মাধ্যমে যেতে চেয়েছিলেন স্ট্রিং প্রতিটি অক্ষর. 161 00:08:08,020 --> 00:08:12,500 তাই এমন একটি গুলি বন্ধনী মত হবে আমি, উদাহরণস্বরূপ, আমি আপনার iterator যদি. 162 00:08:12,500 --> 00:08:17,250 এবং যে চরিত্র গ্রহণ করা, এবং তার প্রকৃত মূল্য পেতে. 163 00:08:17,250 --> 00:08:21,800 আপনি এটা একটি গৃহস্থালি হিসাবে সঞ্চিত, কিন্তু আছে শূন্য জন্য ASCII মান - 164 00:08:21,800 --> 00:08:23,010 একটি চরিত্র হিসাবে শূন্য - 165 00:08:23,010 --> 00:08:25,450 আসলে পূর্ণসংখ্যা শূন্য নয়. 166 00:08:25,450 --> 00:08:28,700 এটি আপনি করতে পারেন যে কিছু অন্যান্য সংখ্যা হওয়া ASCII টেবিলের সন্ধান. 167 00:08:28,700 --> 00:08:30,790 >> তাই একটি উপায় যে জন্য সঠিক - জন্য সঠিক সম্ভবত সবচেয়ে ভালো উপায় 168 00:08:30,790 --> 00:08:33,760 যে - এটা থেকে বিয়োগ করা হয় চরিত্র মান - 169 00:08:33,760 --> 00:08:35,140 একটি চরিত্র হিসাবে শূন্য. 170 00:08:35,140 --> 00:08:38,490 তাই মাইনাস একক উদ্ধৃতি, শূন্য, আরেকটি একক উদ্ধৃতি. 171 00:08:38,490 --> 00:08:44,620 তার মানে আপনি আছে যাই হোক না কেন নম্বর নিতে হবে একটি গৃহস্থালি হিসাবে, এবং তা সমান করুন 172 00:08:44,620 --> 00:08:46,720 একটি প্রকৃত পূর্ণসংখ্যা হিসাবে নম্বর. 173 00:08:46,720 --> 00:08:50,300 >> এবং যে পদ্ধতির অনুরূপ মানুষ অনেক মধ্যে গ্রহণ 174 00:08:50,300 --> 00:08:52,800 সমস্যা সিজার সঙ্গে, 2 সেট এবং Viginere - 175 00:08:52,800 --> 00:08:55,160 যারা সাইফারগুলির, যখন আপনি তাদের আবর্তিত হয়. 176 00:08:55,160 --> 00:08:59,210 আপনার কাছ থেকে একটি সংখ্যা হিসেবে এটা আছে তাই পরে শূন্য থেকে নয়, তাহলে - তার উপর নির্ভর করে 177 00:08:59,210 --> 00:09:02,750 এটি চূড়ান্ত সংখ্যায় যায় যেখানে - আপনি এটি সংখ্যাবৃদ্ধি প্রয়োজন 178 00:09:02,750 --> 00:09:04,120 10 একটি শক্তি দ্বারা. 179 00:09:04,120 --> 00:09:07,340 >> কিছু মানুষ ফিরে থেকে সরানো সামনে, এবং স্বতন্ত্র গুন 180 00:09:07,340 --> 00:09:08,940 10 একটি শক্তি দ্বারা নম্বর. 181 00:09:08,940 --> 00:09:11,160 কিছু মানুষ থেকে সরানো ব্যাক সামনে - 182 00:09:11,160 --> 00:09:14,430 এবং যাতে সর্বোচ্চ গ্রহণ প্রথম সংখ্যার অর্ডার - 183 00:09:14,430 --> 00:09:18,190 এবং একটি যারা সংরক্ষণ করবে বিশ্বব্যাপী পাল্টা পরিবর্তনশীল. 184 00:09:18,190 --> 00:09:20,880 এবং তারপর জন্য মাধ্যমে প্রতিটি সময় লুপ, গুন যে বিশ্বব্যাপী দৈত্য 185 00:09:20,880 --> 00:09:25,640 করা, 10 দ্বারা পরিবর্তনশীল মোকাবেলায় পরবর্তী গৃহস্থালি জন্য স্থান. 186 00:09:25,640 --> 00:09:28,750 >> সুতরাং যে করেই একটু বিভ্রান্ত ছিল আমার বোর্ডে এটি লেখা. 187 00:09:28,750 --> 00:09:31,550 কিন্তু নমুনা সমাধান আপনার জন্য উপলব্ধ করা হয়. 188 00:09:31,550 --> 00:09:32,870 কিন্তু যারা বড় জিনিস ছিল আমরা করছিলেন. 189 00:09:32,870 --> 00:09:36,400 উপরন্তু নিশ্চিত প্রতিটি যা করতে একটি চেক স্বতন্ত্র চরিত্র একটি প্রকৃতপক্ষে ছিল 190 00:09:36,400 --> 00:09:39,780 শূন্য এবং নয়টি, এবং না মধ্যকার চরিত্র একটি একটি ভালো কিছু অন্যান্য চরিত্র,, 191 00:09:39,780 --> 00:09:41,160 উদাহরণস্বরূপ. 192 00:09:41,160 --> 00:09:43,150 >> যারা আমরা করছিলেন জিনিস ছিল জন্য যে প্রশ্নে. 193 00:09:43,150 --> 00:09:46,510 194 00:09:46,510 --> 00:09:47,980 যে আপনার প্রশ্নের উত্তর আছে? 195 00:09:47,980 --> 00:09:49,320 >> OMPICA: হ্যাঁ. 196 00:09:49,320 --> 00:09:50,240 >> JASON HIRSCHHORN: ঠিক আছে. 197 00:09:50,240 --> 00:09:53,940 অন্য কোন প্রশ্ন আছে ক্যুইজ 0 সম্পর্কে কি? 198 00:09:53,940 --> 00:09:55,440 কি কম্পাইল সম্পর্কে কি? 199 00:09:55,440 --> 00:09:56,740 সকলে ডান কম্পাইল? 200 00:09:56,740 --> 00:09:58,370 না. 201 00:09:58,370 --> 00:09:58,840 একটি ছিল - 202 00:09:58,840 --> 00:10:01,010 [LAUGHS] 203 00:10:01,010 --> 00:10:03,265 সম্পর্কে কোন প্রশ্ন সংকলন প্রক্রিয়া? 204 00:10:03,265 --> 00:10:06,050 205 00:10:06,050 --> 00:10:06,966 বাহ. 206 00:10:06,966 --> 00:10:11,090 >> [কাগজ খচ্মচে] 207 00:10:11,090 --> 00:10:11,520 >> JASON HIRSCHHORN: হ্যাঁ. 208 00:10:11,520 --> 00:10:11,700 মাইকেল. 209 00:10:11,700 --> 00:10:14,140 >> মাইকেল: - র্যান্ডম সংখ্যা 7 কি? 210 00:10:14,140 --> 00:10:16,500 >> JASON HIRSCHHORN: সংখ্যা 7. 211 00:10:16,500 --> 00:10:20,670 নম্বর 7 একটি র্যান্ডম পূর্ণসংখ্যা পেতে ছিল. 212 00:10:20,670 --> 00:10:21,110 চমৎকার. 213 00:10:21,110 --> 00:10:25,630 তাই আপনি যদি একটি পূর্ণসংখ্যা একটি প্রদত্ত এবং একটি করছি পূর্ণসংখ্যা খ, এবং আপনি একটি র্যান্ডম চাই 214 00:10:25,630 --> 00:10:28,710 A এবং B এর মধ্যে পূর্ণসংখ্যা. 215 00:10:28,710 --> 00:10:31,740 আমরা আসলে এই এক লিখতে পারেন বোর্ড, কারণ এই এক 216 00:10:31,740 --> 00:10:33,320 কোড একটি লাইন ছিল - 217 00:10:33,320 --> 00:10:34,390 এটা করতে এক উপায়. 218 00:10:34,390 --> 00:10:37,810 >> সুতরাং আমরা একটি হিসাবে drand দেওয়া করছি ফাংশন আমরা ব্যবহার করতে পারেন. 219 00:10:37,810 --> 00:10:38,820 এবং কি drand না - 220 00:10:38,820 --> 00:10:40,290 এটা বীজযুক্ত হয়েছে অভিমানী - 221 00:10:40,290 --> 00:10:42,316 কি ফিরে drand করে? 222 00:10:42,316 --> 00:10:44,840 >> মাইকেল: 0.0 এবং 1.0 মধ্যে একটি ভাসা. 223 00:10:44,840 --> 00:10:45,530 >> JASON HIRSCHHORN: একটি সংখ্যা - হাঁ. 224 00:10:45,530 --> 00:10:47,910 0 এবং 1 এর মধ্যে একটি সংখ্যা. 225 00:10:47,910 --> 00:10:51,760 এবং তাই আমরা বি এবং একটি আছে. 226 00:10:51,760 --> 00:10:55,480 এবং তারপর আমরা আমাদের র্যান্ডম সংখ্যা আছে 0 এবং 1 drand আমাদের দেওয়া. 227 00:10:55,480 --> 00:11:01,480 228 00:11:01,480 --> 00:11:06,630 কিছু মানুষ খ রাখতে চেষ্টা করুন, অথবা খ বিয়োগ যারা ভিতরে একটি, বা কিছু 229 00:11:06,630 --> 00:11:07,960 প্রথম বন্ধনী. 230 00:11:07,960 --> 00:11:11,210 অর্থাৎ তারা যে অর্থ হবে এই ফাংশন আর্গুমেন্ট. 231 00:11:11,210 --> 00:11:13,450 >> drand কোনো আর্গুমেন্ট গ্রহণ করা হয় না - getString আছে মত 232 00:11:13,450 --> 00:11:14,330 কোনো আর্গুমেন্ট গ্রহণ করা. 233 00:11:14,330 --> 00:11:16,600 সুতরাং এটি বন্ধ, শুধু খোলা paren এর paren - এবং যে, নিজেই, হয় 234 00:11:16,600 --> 00:11:17,330 ফাংশন কল. 235 00:11:17,330 --> 00:11:19,770 এবং যে আপনি একটি নম্বর দেয় 0 এবং 1. 236 00:11:19,770 --> 00:11:22,820 অবশ্যই, আমরা একটি সম্পূর্ণ পরিসীমা আছে নম্বর ইন হতে পারে 237 00:11:22,820 --> 00:11:28,470 >> বি 10 এবং একটি 5 হয়, তাহলে আমরা সত্যিই, বলুন 5 একটি পরিসীমা সঙ্গে একটি নম্বর চান. 238 00:11:28,470 --> 00:11:36,940 তাই আমরা যা করতে হবে পরবর্তী জিনিস পরিসীমা খ বিয়োগ একটি দ্বারা এই সংখ্যাবৃদ্ধি. 239 00:11:36,940 --> 00:11:40,380 সুতরাং যে গুন এর অভিমানী. 240 00:11:40,380 --> 00:11:42,590 এবং যে আমাদের একটি নম্বর দেব একটি নির্দিষ্ট পরিসীমা মধ্যে. 241 00:11:42,590 --> 00:11:46,610 এবং যে নির্দিষ্ট পরিসীমা হচ্ছে খ বিয়োগ একটি মধ্যে পার্থক্য. 242 00:11:46,610 --> 00:11:50,030 >> এবং পরিশেষে, শুধু থেকে এটি দেব - খ বিয়োগ একটি মধ্যে পরিসীমা বলে 243 00:11:50,030 --> 00:11:52,520 5, যে আমাদের একটি দেব হয় 0 থেকে 5 নম্বর. 244 00:11:52,520 --> 00:11:56,000 একটা সত্য 5 হয় কিন্তু, যদি আমরা অনুমোদন প্রয়োজন এটি যেখানে এই পরিসীমা আপ 245 00:11:56,000 --> 00:12:01,380 আসলে একটি যুক্ত করে, হতে অনুমিত. 246 00:12:01,380 --> 00:12:02,580 সুতরাং যে যুক্তি অধিকার পায়. 247 00:12:02,580 --> 00:12:03,745 এবং তারপর, আপনি থাকতে হবে অন্য প্রশ্ন? 248 00:12:03,745 --> 00:12:04,547 >> মাইকেল: নং 249 00:12:04,547 --> 00:12:06,010 আমি ঠিক এই মুহূর্তে সত্যিই মূক বোধ. 250 00:12:06,010 --> 00:12:06,405 [LAUGHS] 251 00:12:06,405 --> 00:12:06,730 >> JASON HIRSCHHORN: নং 252 00:12:06,730 --> 00:12:08,640 সত্যিই মূক বোধ করবেন না. 253 00:12:08,640 --> 00:12:10,560 মানুষ একটি সংখ্যা লড়াই এই প্রশ্নের সঙ্গে. 254 00:12:10,560 --> 00:12:13,920 এবং তারপর, অন্য প্রশ্ন হল, drand, আপনি বলেন, আপনি একটি float দেয় - 255 00:12:13,920 --> 00:12:14,940 একটি float ফেরৎ. 256 00:12:14,940 --> 00:12:18,020 কিন্তু এই ফাংশন আসলে জিজ্ঞাসা একটি পূর্ণসংখ্যা ফিরে যাওয়ার জন্য. 257 00:12:18,020 --> 00:12:23,700 >> আপনি স্পষ্টভাবে এই নিক্ষেপ করার প্রয়োজন হবে না একটি পূর্ণসংখ্যা জন্য, এই কারণ 258 00:12:23,700 --> 00:12:29,090 অপারেশন সমস্ত একটি হিসেবে বিবেচনা করবে ভাসা - একটি ফ্লোটিং পয়েন্ট সংখ্যা হিসেবে. 259 00:12:29,090 --> 00:12:31,570 এই ইচ্ছার লেগেছে - এমনকি এই যদি একটি পূর্ণসংখ্যা, এই ইচ্ছা হয় 260 00:12:31,570 --> 00:12:32,890 সঠিকভাবে গুন করা. 261 00:12:32,890 --> 00:12:34,000 সমস্ত গুণ কাজ করবে. 262 00:12:34,000 --> 00:12:35,060 আপনি এখানে এটি নিক্ষেপ করার প্রয়োজন হবে না. 263 00:12:35,060 --> 00:12:36,480 আসলে, আপনি এটি নিক্ষেপ করা উচিত নয়. 264 00:12:36,480 --> 00:12:37,310 >> যে হবে - 265 00:12:37,310 --> 00:12:40,750 যদি আপনি একটি নম্বর নিক্ষেপ যদি যে 0 এবং 1 এর মধ্যে আছে - 266 00:12:40,750 --> 00:12:42,680 একটি র্যান্ডম সংখ্যা, একটি ফ্লোটিং পয়েন্ট - 267 00:12:42,680 --> 00:12:47,850 তারপর এটা হয়, যাতে শুধুমাত্র 0 বা 1 হতে হবে আপনি যে স্পষ্টতা সব হারান. 268 00:12:47,850 --> 00:12:50,120 কিন্তু শেষে, আপনি ফিরে যখন, এটি স্বয়ংক্রিয়ভাবে পায় 269 00:12:50,120 --> 00:12:51,620 একটি পূর্ণসংখ্যা হিসাবে ফেরত পাঠানো. 270 00:12:51,620 --> 00:12:56,870 তাই আপনাকে যা করতে হবে না যে নিজেকে নিক্ষেপণ. 271 00:12:56,870 --> 00:13:00,810 >> তাই এই উত্তর ছিল যে প্রশ্ন, সংখ্যা 7. 272 00:13:00,810 --> 00:13:02,190 ক্যুইজ 0 অন্য কোন প্রশ্ন? 273 00:13:02,190 --> 00:13:03,300 হ্যাঁ, অ্যানি. 274 00:13:03,300 --> 00:13:05,050 >> অ্যানি: আমরা recursive ব্যবহার করব যখন - 275 00:13:05,050 --> 00:13:07,850 যখন আমরা পুনরাবৃত্ত loops ব্যবহার? 276 00:13:07,850 --> 00:13:10,210 >> JASON HIRSCHHORN: যখন আপনি ব্যবহার করবেন recursive - তাই আরো সাধারণভাবে, 277 00:13:10,210 --> 00:13:14,110 recursion বনাম এর আগপাছ একটি পুনরাবৃত্ত পদ্ধতির. 278 00:13:14,110 --> 00:13:17,110 কেহ একটি প্রো বা একটি বিরূদ্ধে দিতে পারেন? 279 00:13:17,110 --> 00:13:19,460 অনুগ্রহ করে? 280 00:13:19,460 --> 00:13:20,140 কেহ পারেন না. 281 00:13:20,140 --> 00:13:22,526 কে একটি প্রো বা একটি বিরূদ্ধে দিতে পারবেন? 282 00:13:22,526 --> 00:13:26,963 >> [কাগজ খচ্মচে] 283 00:13:26,963 --> 00:13:29,730 >> শিক্ষার্থীদের 1: Recursive কম কোডিং - কম টাইপিং? 284 00:13:29,730 --> 00:13:33,170 >> JASON HIRSCHHORN: তাই সাধারণত, recursion বিশেষ করে, একটি ফাংশন - 285 00:13:33,170 --> 00:13:35,750 বা একত্রীকরণ মত একটি অ্যালগরিদম সাজানোর - যা নিজেকে ধার 286 00:13:35,750 --> 00:13:37,300 একটি recursive পদ্ধতির করতে - 287 00:13:37,300 --> 00:13:40,710 আরো সহজবোধ্য হতে পারে recursively কোড করার. 288 00:13:40,710 --> 00:13:43,940 এবং শুধুমাত্র আরো জানার জন্য recursively তা করে. 289 00:13:43,940 --> 00:13:46,230 সুতরাং যে recursion একটি প্রো হবে. 290 00:13:46,230 --> 00:13:46,610 অন্যরা? 291 00:13:46,610 --> 00:13:47,467 হাঁ? 292 00:13:47,467 --> 00:13:49,240 >> শিক্ষার্থীদের 2: recursion করতে Con - 293 00:13:49,240 --> 00:13:50,940 এটা আরো মেমরি ব্যবহার করে. 294 00:13:50,940 --> 00:13:52,200 >> JASON HIRSCHHORN: তাই ঠিক অধিকার. 295 00:13:52,200 --> 00:13:55,720 একটি recursive ফাংশন যোগ রাখা হবে স্ট্যাক স্ট্যাকের ফ্রেম করতে. 296 00:13:55,720 --> 00:13:59,690 আপনি অনেক অপারেটিং করছি তাই যদি সংখ্যা, এবং এই ফোন করতে হবে 297 00:13:59,690 --> 00:14:02,560 অনেক কাজ, তাহলে আপনি অবশ্যই করবে যখন আরো মেমরি লাগতে 298 00:14:02,560 --> 00:14:05,810 একটি পুনরাবৃত্ত পদ্ধতির শুধুমাত্র একটি লাগাতে হবে , স্ট্যাক ফ্রেম গাদা কারণ 299 00:14:05,810 --> 00:14:08,420 এটা সব এক ফাংশন মধ্যে ঘটবে. 300 00:14:08,420 --> 00:14:11,010 >> অন্য কোন আগপাছ? 301 00:14:11,010 --> 00:14:11,500 হ্যাঁ. 302 00:14:11,500 --> 00:14:12,550 >> শিক্ষার্থীদের 3: recursion জন্য পেশাদাররা. 303 00:14:12,550 --> 00:14:15,950 আপনি নির্ধারণ করতে হবে না আগাম কতবার 304 00:14:15,950 --> 00:14:17,660 কোড পুনরাবৃত্তি করা হবে. 305 00:14:17,660 --> 00:14:22,810 আপনি একটি পূর্বাহ্নে নির্ধারিত নম্বর থাকতে পারে এর পরে, পুনরুক্তি করা আছে যে বার 306 00:14:22,810 --> 00:14:26,420 recursion, ভাল কারণ এটা যে ফলাফল প্রদর্শন করা হয়. 307 00:14:26,420 --> 00:14:27,780 >> JASON HIRSCHHORN: আমি যে সত্য মনে করি. 308 00:14:27,780 --> 00:14:30,770 কিন্তু আমি উভয় ক্ষেত্রেই মনে আপনি কখনও হবে - 309 00:14:30,770 --> 00:14:33,290 আপনি সম্ভবত কিছু পেতে চাই ব্যবহারকারী থেকে ইনপুট. 310 00:14:33,290 --> 00:14:35,990 অথবা এই ফাংশন কিছু ইনপুট করতে হবে যে নির্ধারণ করবে কতবার এটা 311 00:14:35,990 --> 00:14:36,730 চালানো উচিত. 312 00:14:36,730 --> 00:14:39,520 তাই সাধারণত, আপনি হার্ড কোড করা হবে না - এমনকি একটি পুনরাবৃত্ত পদ্ধতির মধ্যে - কিভাবে 313 00:14:39,520 --> 00:14:40,940 অনেক বার যে লুপ চালানো হবে. 314 00:14:40,940 --> 00:14:46,100 315 00:14:46,100 --> 00:14:48,670 >> আপনি ছিল অন্য আছে কি অ্যানি, সম্পর্কে চিন্তা? 316 00:14:48,670 --> 00:14:49,330 ঠিক আছে. 317 00:14:49,330 --> 00:14:51,650 সুতরাং যারা সম্ভবত দুটি - 318 00:14:51,650 --> 00:14:54,370 সবচেয়ে বড় প্রো এবং সবচেয়ে বড় বনাম একটি recursive করার বিরূদ্ধে 319 00:14:54,370 --> 00:14:57,080 একটি পুনরাবৃত্ত পদ্ধতির. 320 00:14:57,080 --> 00:14:57,690 ঠিক আছে. 321 00:14:57,690 --> 00:14:59,465 ক্যুইজ 0 ওপর আরও কিছু লাগবে? 322 00:14:59,465 --> 00:15:08,940 323 00:15:08,940 --> 00:15:09,920 >> এর উপর সরানো যাক. 324 00:15:09,920 --> 00:15:15,260 ফাইল ইনপুট / মন্ত্রণালয় একটি বিস্ময়কর সংক্ষিপ্ত নেই এই সপ্তাহে ফাইল ইনপুট / আউটপুট যে আশা 325 00:15:15,260 --> 00:15:19,270 আপনি একাধিক দেখেছেন বার, এবং প্রশংসিত. 326 00:15:19,270 --> 00:15:22,910 কাজ অনেক যে মধ্যে গিয়েছিলাম, এবং আমি করেছি এটা অন্যন্ত সহায়ক শুনেছেন. 327 00:15:22,910 --> 00:15:25,740 আমি, এই স্লাইডে লিঙ্ক অন্তর্ভুক্ত যদি আপনি ছিল না একটি 328 00:15:25,740 --> 00:15:29,160 এটা 10 বার ঘড়ি সুযোগ. 329 00:15:29,160 --> 00:15:35,280 >> সুতরাং, আমরা সংক্ষিপ্তভাবে উপর যেতে যাচ্ছে খোলার এবং কাজ করার প্রধান ধাপ 330 00:15:35,280 --> 00:15:38,400 ফাইল সঙ্গে, এবং তারপর আমরা যাচ্ছি আগে একটি কোডিং সমস্যা মধ্যে আকর্ষণীয় 331 00:15:38,400 --> 00:15:40,400 সমস্যা সেট অনুসন্ধানী. 332 00:15:40,400 --> 00:15:44,330 তাই আবার, আমি এই ন্যস্ত চলেছি পর্দা, কিন্তু আমি কথা বলতে যাচ্ছি 333 00:15:44,330 --> 00:15:47,630 আমরা করছি সে সম্পর্কে মাত্র একটি মিনিট ফাইলের সাথে এখানে কাজ I/O-- 334 00:15:47,630 --> 00:15:49,090 যে কি মানে? 335 00:15:49,090 --> 00:15:55,280 >> আমরা তৈরি করতে পারেন এর মানে হল যে আমাদের প্রোগ্রাম, এবং তারপর আমাদের প্রোগ্রাম আছে 336 00:15:55,280 --> 00:16:00,370 প্রস্থান করুন, এবং কোনো প্রভাব তৈরি না আমাদের প্রোগ্রাম বাইরে বিশ্বের. 337 00:16:00,370 --> 00:16:04,630 কিন্তু আমরা ফাইল নিয়ে কাজ শুরু করার সময় - উভয় তাদের পড়া এবং তৈরি 338 00:16:04,630 --> 00:16:10,460 তাদের - আমরা কিছু প্রভাব সৃষ্টি করতে পারে আমাদের প্রোগ্রাম বাইরে বিশ্বের. 339 00:16:10,460 --> 00:16:15,440 >> শুধু ভালো মাইক্রোসফট ওয়ার্ড সক্ষম ছিল না যদি তারপর, কোন Word নথি করা 340 00:16:15,440 --> 00:16:18,710 মাইক্রোসফট ওয়ার্ড, আপনার সব প্রস্থান করার জন্য একবার কাজ চলে যাবে, এবং এটি হবে 341 00:16:18,710 --> 00:16:19,740 সত্যিই বেহুদা হতে. 342 00:16:19,740 --> 00:16:23,620 আমরা শেষ পর্যন্ত পাবে চান প্রভাবিত করতে পারে প্রোগ্রাম লিখুন 343 00:16:23,620 --> 00:16:31,350 তাদের চারপাশে বিশ্বের, উভয় গ্রহণ করে ফাইল পদ ও - জটিল ইনপুট 344 00:16:31,350 --> 00:16:37,080 ফাইল এর মাধ্যমে, এবং এছাড়াও আকর্ষণীয় তৈরি এবং আকর্ষক আউটপুট - 345 00:16:37,080 --> 00:16:39,520 ফাইল বিভিন্ন ধরনের পদ. 346 00:16:39,520 --> 00:16:43,730 >> আমরা শুরু হয় সুতরাং যে কেন হয় ফাইল সঙ্গে কাজ শিখতে. 347 00:16:43,730 --> 00:16:47,080 আরো নির্দিষ্টভাবে, কি আমরা অনুসরণ হিসাবে হয় না. 348 00:16:47,080 --> 00:16:47,680 এটা খুব সহজ. 349 00:16:47,680 --> 00:16:51,530 এখন পর্যন্ত পদক্ষেপ শুধুমাত্র একটি দম্পতি আছে, এবং তারা এই কোড এখানে তালিকাভুক্ত করা হয়. 350 00:16:51,530 --> 00:16:55,130 সুতরাং আমরা মধ্য দিয়ে যেতে চলুন লাইন দ্বারা এই কোড লাইন. 351 00:16:55,130 --> 00:16:57,630 >> প্রথমত, আপনি হাইলাইট দেখুন - 352 00:16:57,630 --> 00:17:01,330 আপনি একটি ফাইল সঙ্গে কাজ, যখন নির্বিশেষে ফাইলের ধরনের তা হল 353 00:17:01,330 --> 00:17:02,670 আপনি এটি খোলার প্রয়োজন. 354 00:17:02,670 --> 00:17:05,130 এবং যে fopen একটি কল সঙ্গে হল - 355 00:17:05,130 --> 00:17:05,950 অধিকার এখানে. 356 00:17:05,950 --> 00:17:07,980 আপনি ফাইলের নাম অন্তর্ভুক্ত. 357 00:17:07,980 --> 00:17:11,930 ফাইল, আপনার ডিরেক্টরির মধ্যে নয়, বা ফোল্ডার যেখানে এই প্রোগ্রাম 358 00:17:11,930 --> 00:17:15,910 জীবন, তাহলে আপনি এছাড়াও অন্তর্ভুক্ত করা প্রয়োজন যে ফাইল যেখানে একটি পথ. 359 00:17:15,910 --> 00:17:19,099 >> আমরা ধরে নিই চলুন যে এই "text.txt" নামক ফাইল - 360 00:17:19,099 --> 00:17:24,220 একটি সহজ পাঠ্য নথি - হয় এই প্রোগ্রাম হিসাবে একই ফোল্ডারে থাকে. 361 00:17:24,220 --> 00:17:26,859 যাতে এর মধ্যে রাখা অন্য জিনিস মন - যে আপনি একটি ফাইল খুলতে চান 362 00:17:26,859 --> 00:17:30,050 অন্য কোথাও, আপনি আসলে প্রয়োজন তার অবস্থান অন্তর্ভুক্ত. 363 00:17:30,050 --> 00:17:33,520 >> দ্বিতীয়ত, আপনি একটি আর্গুমেন্ট পাস করতে পারেন fopen, এবং যে আপনি কাজ করতে চান কি 364 00:17:33,520 --> 00:17:34,620 ফাইল সঙ্গে. 365 00:17:34,620 --> 00:17:38,450 তিনটি প্রধান আর্গুমেন্ট যে আছে আপনি fopen পাস চলুন. 366 00:17:38,450 --> 00:17:40,060 কে আমাকে ঐ তিন দিতে পারেন? 367 00:17:40,060 --> 00:17:44,960 368 00:17:44,960 --> 00:17:47,130 কে আমাকে তাদের একজন দিতে পারেন? 369 00:17:47,130 --> 00:17:48,130 হ্যাঁ. 370 00:17:48,130 --> 00:17:50,010 >> শিক্ষার্থীদের 4: ফাইলের নাম? 371 00:17:50,010 --> 00:17:50,440 >> JASON HIRSCHHORN: দুঃখিত. 372 00:17:50,440 --> 00:17:55,490 আপনি পাস করতে পারেন তিনটি প্রধান আর্গুমেন্ট দ্বিতীয় যুক্তি fopen হিসাবে. 373 00:17:55,490 --> 00:17:57,060 আপনি ঠিক - ফাইল নাম প্রথম যুক্তি হল. 374 00:17:57,060 --> 00:18:01,620 কিন্তু fopen যাও দ্বিতীয় যুক্তি হল সাধারণত তিনটি পংক্তি, এবং - হ্যাঁ. 375 00:18:01,620 --> 00:18:02,210 Aleja. 376 00:18:02,210 --> 00:18:03,490 >> Aleja: append জন্য. 377 00:18:03,490 --> 00:18:06,840 >> JASON HIRSCHHORN: একটি, আপনি চান ইতিমধ্যেই বিদ্যমান একটি ফাইলে লিখবেন. 378 00:18:06,840 --> 00:18:07,810 >> শিক্ষার্থীদের 5: পড়া জন্য কিছু r. 379 00:18:07,810 --> 00:18:09,930 >> JASON HIRSCHHORN: আর, আপনি যদি একটি ফাইল থেকে পড়তে চাই. 380 00:18:09,930 --> 00:18:10,670 >> শিক্ষার্থীদের 6: লেখার জন্য ওয়াট. 381 00:18:10,670 --> 00:18:12,840 >> JASON HIRSCHHORN: এবং, লে যদি আপনি একটি ফাইলে লিখতে চান. 382 00:18:12,840 --> 00:18:17,570 তাই এই ক্ষেত্রে, আমরা লেখার ফাইলে, তাই আমরা W আছে. 383 00:18:17,570 --> 00:18:22,360 আপনি এটি খুলতে, আপনি সংরক্ষণ করতে হবে কোথাও দায়ের, এবং যে সঙ্গে আছে 384 00:18:22,360 --> 00:18:26,000 বাম হাতের দিকে কোড নিয়োগ অপারেটর - 385 00:18:26,000 --> 00:18:31,220 আমি একটি ফাইল একটি পয়েন্টার তৈরি করছি এই ক্ষেত্রে, ফাইলের মধ্যে, বলা হয়. 386 00:18:31,220 --> 00:18:36,070 >> আমরা চিন্তা যাচ্ছে না কি এই সব ক্যাপ ফাইল জিনিস. 387 00:18:36,070 --> 00:18:40,600 বলতে চলা, এটি একটি দীর্ঘ zeros এবং বেশী প্রবাহ. 388 00:18:40,600 --> 00:18:44,970 এবং যে আমরা করতে যাচ্ছি কিভাবে এটা কাজ করে এবং এটা বুঝতে. 389 00:18:44,970 --> 00:18:47,300 >> আমরা যা করতে হবে পরবর্তী জিনিস - ও এই অবিশ্বাস্যভাবে গুরুত্বপূর্ণ - 390 00:18:47,300 --> 00:18:49,070 আপনি একটি ফাইল খোলার জন্য যখনই - 391 00:18:49,070 --> 00:18:54,250 আসলে, আপনি malloc কল যখনই জন্য উদাহরণ, এবং কিছু স্মৃতি এবং পেতে চেষ্টা করুন 392 00:18:54,250 --> 00:18:57,980 এবং আপনি সবসময় একটি পয়েন্টার মধ্যে এটি সংরক্ষণ করুন নিশ্চিত যে পরীক্ষা করতে যে 393 00:18:57,980 --> 00:19:00,230 ফাংশন নাল ফিরে না. 394 00:19:00,230 --> 00:19:05,230 >> তাই এই ক্ষেত্রে, আমরা করতে পরীক্ষণ করা হয় আমরা আসলে খোলা নিশ্চিত যে 395 00:19:05,230 --> 00:19:10,230 সঠিকভাবে দায়ের, এবং ছিল আমাদের প্রোগ্রামে কোন ত্রুটি. 396 00:19:10,230 --> 00:19:15,160 এর পরে, একবার আমরা নিশ্চিত চেক করেছি আমরা আমরা করতে পারেন, একটি কাজ ফাইল আছে 397 00:19:15,160 --> 00:19:18,520 , লিখুন, বা থেকে পড়া বা ফাইলে লিখবেন. 398 00:19:18,520 --> 00:19:24,270 এই ক্ষেত্রে, আমি কেবল মুদ্রণ am এই ফাইলের মধ্যে এক লাইন. 399 00:19:24,270 --> 00:19:25,450 >> আমি কিভাবে যে জানেন? 400 00:19:25,450 --> 00:19:27,990 ওয়েল, আমি এই ফাংশন ব্যবহার করছি fprintf বলা. 401 00:19:27,990 --> 00:19:30,970 আপনি ব্যবহার করা হবে কর্ম সব , লেখা বা থেকে, অথবা যখন পড়া 402 00:19:30,970 --> 00:19:34,950 ফাইল সাধিত অনুরূপ হবে আপনি আগে দেখা, কিন্তু করেছি ফাংশন 403 00:19:34,950 --> 00:19:38,420 অক্ষর, F দিয়ে শুরু, ফাইলের জন্য দাঁড়িয়ে. 404 00:19:38,420 --> 00:19:43,440 এবং fprintf, আমাদের স্বাভাবিক মুদ্রণ অসদৃশ অ্যাপ্লিকেশন, এক অতিরিক্ত আর্গুমেন্ট গ্রহণ করা হয়, 405 00:19:43,440 --> 00:19:47,800 এবং যে ফাইলটি আপনি যেখানে এই লাইন প্রিন্ট করতে চান. 406 00:19:47,800 --> 00:19:50,640 >> আমি কিছু না থাকে ohai অধিকার. 407 00:19:50,640 --> 00:19:52,860 আমি তৃতীয় হবে না printf করার যুক্তি - 408 00:19:52,860 --> 00:19:57,030 বা দ্বিতীয় যুক্তি printf যাও, তৃতীয় যুক্তি fprintf যাও, কারণ আমি 409 00:19:57,030 --> 00:19:59,480 এখানে কোন স্থানধারক হবে না. 410 00:19:59,480 --> 00:20:01,070 আমি কোনো ভেরিয়েবল সহ না করছি. 411 00:20:01,070 --> 00:20:06,070 কিন্তু আবার, fprintf এবং এই ফাইলের সব ফাইল সঙ্গে কাজ যে ফাংশন 412 00:20:06,070 --> 00:20:09,820 সাধারণত ফাইলের প্রয়োজন যাচ্ছি যার উপর তারা অপারেটিং করছি. 413 00:20:09,820 --> 00:20:15,960 >> অবশেষে, গত গুরুত্বপূর্ণ বিষয় থেকে না, ঠিক মত ফাইল বন্ধ করতে হয় 414 00:20:15,960 --> 00:20:19,530 সঙ্গে - আমরা কিছু malloc যখনই, আমরা, পাছে কিছু মুক্ত করতে চাই 415 00:20:19,530 --> 00:20:22,730 একটি মেমরি লিক আছে - আমরা চাই আমাদের ফাইল বন্ধ করতে. 416 00:20:22,730 --> 00:20:28,180 এই প্রোগ্রাম বন্ধ ছাড়া প্রস্থান যদি ফাইল, মতভেদ কিছুই যেতে হবে হয় 417 00:20:28,180 --> 00:20:30,050 ভুল, বিশেষ করে যদি তা একটি ছোট ফাইল ছিল. 418 00:20:30,050 --> 00:20:35,020 >> কিন্তু এটা অবশ্যই ভাল কোডিং শৈলী এবং সবসময় আপনার ফাইল বন্ধ করার অভ্যাস 419 00:20:35,020 --> 00:20:38,050 যদি আপনি এটি ব্যবহার করে সমাপ্ত করছি. 420 00:20:38,050 --> 00:20:43,630 সুতরাং যে ফাইলের বেসিক ইনপুট / ও হয় আপনি সম্ভবত আগে যে দেখা, বা করেছি 421 00:20:43,630 --> 00:20:45,710 যে চমত্কার সংক্ষেপে তা দেখেছেন. 422 00:20:45,710 --> 00:20:48,410 কেহ আগে, কোন প্রশ্ন করে আমরা কিছু অভ্যাস কোডিং ঢোকা 423 00:20:48,410 --> 00:20:51,800 ফাইল সম্পর্কে সমস্যা, ইনপুট / আউটপুট বা ধাপ আমি ঠিক গিয়েছিলাম? 424 00:20:51,800 --> 00:21:00,198 425 00:21:00,198 --> 00:21:03,162 >> [টাইপ শব্দসমূহ] 426 00:21:03,162 --> 00:21:04,150 >> JASON HIRSCHHORN: আপনি কি একটি প্রশ্ন, Avi আছে? 427 00:21:04,150 --> 00:21:04,660 >> AVI: নং 428 00:21:04,660 --> 00:21:04,740 >> JASON HIRSCHHORN: ঠিক আছে. 429 00:21:04,740 --> 00:21:06,746 আমি অন্য অপেক্ষা করা যাচ্ছে না সাত যাও. 430 00:21:06,746 --> 00:21:07,590 [LAUGHS] 431 00:21:07,590 --> 00:21:08,620 এটা সত্যিই একটি ভাল টিপ এর. 432 00:21:08,620 --> 00:21:10,750 আপনি না ঠিক পছন্দ না প্রশ্ন জিজ্ঞাসা. 433 00:21:10,750 --> 00:21:11,660 যে সূক্ষ্ম. 434 00:21:11,660 --> 00:21:12,330 ঠিক আছে. 435 00:21:12,330 --> 00:21:17,620 তাই আমাদের প্রথম অনুশীলন সমস্যা আমরা, হয় ফাংশনের প্রতিলিপি যাচ্ছে 436 00:21:17,620 --> 00:21:22,330 একটি কমান্ড লাইন টুল যে আপনি সম্ভবত কপি - পূর্বে ব্যবহৃত - 437 00:21:22,330 --> 00:21:23,500 কপি হাতিয়ার. 438 00:21:23,500 --> 00:21:28,050 আপনি CP টাইপ করুন এবং তারপর এটি পাস হলে দুই আপনার টার্মিনাল মধ্যে আর্গুমেন্ট, আপনি যা করতে পারেন 439 00:21:28,050 --> 00:21:28,980 একটি ফাইল কপি করুন. 440 00:21:28,980 --> 00:21:31,220 এবং যে আমরা যাচ্ছি কি এই মুহূর্তে লিখতে. 441 00:21:31,220 --> 00:21:35,830 >> তাই আবার, এই স্লাইড দেখা বন্ধ পড়া, আমি চাই প্রদর্শিত হয় একটি প্রোগ্রাম লিখতে 442 00:21:35,830 --> 00:21:38,130 দুটি এবং দুটি কমান্ড লাইন কেবল আর্গুমেন্ট - 443 00:21:38,130 --> 00:21:40,750 উৎস ফাইল এবং একটি গন্তব্য ফাইল - 444 00:21:40,750 --> 00:21:44,590 এবং কপি উৎস বিষয়বস্তু গন্তব্য ফাইল থেকে ফাইল 445 00:21:44,590 --> 00:21:46,960 একটি সময়ে এক বাইট. 446 00:21:46,960 --> 00:21:48,510 যাতে এর চাইতে অনেক. 447 00:21:48,510 --> 00:21:52,200 >> আবার, এই একটি ভালো পদ্ধতি হল সি কোড সরাসরি যেতে, কিন্তু না 448 00:21:52,200 --> 00:21:54,280 ধাপের একটি দম্পতি সেটিকে ভেঙ্গে. 449 00:21:54,280 --> 00:21:58,400 প্রথমত, যুক্তি আমার মনে হয় - ঠিক আমি কি করতে আপনাকে জিজ্ঞাসা করছি - 450 00:21:58,400 --> 00:22:00,620 এবং সব বোঝেন এই সমস্যার পদক্ষেপ. 451 00:22:00,620 --> 00:22:04,410 না সি, কিছু কিছু pseudocode সালে, বা এমনকি একটি মানসিক মডেল 452 00:22:04,410 --> 00:22:06,030 কি ঘটছে. 453 00:22:06,030 --> 00:22:10,050 >> এর পরে, আপনি pseudocode নিচে আছে একবার, চিন্তা করা কিভাবে pseudocode 454 00:22:10,050 --> 00:22:14,600 সরঞ্জাম এবং আমরা করেছি জিনিষ সম্মুখের মানচিত্র সি ব্যবহার শিখেছি 455 00:22:14,600 --> 00:22:19,070 >> এবং পরিশেষে, একবার আপনি সব যে আছে একসঙ্গে, আপনি সমস্যা কোড করতে পারেন. 456 00:22:19,070 --> 00:22:23,370 করতে 5 থেকে 10 মিনিট সময় নিন এই সমস্যার উপর কাজ. 457 00:22:23,370 --> 00:22:25,800 আমি নির্দেশাবলী রেখে দেব ফিরে একটি দ্বিতীয় মধ্যে বড়. 458 00:22:25,800 --> 00:22:27,990 এবং তারপর আমরা পুনরালোচনা চলুন pseudocode, এবং কোড 459 00:22:27,990 --> 00:22:29,230 এটি একটি গ্রুপ হিসাবে বসবাস. 460 00:22:29,230 --> 00:22:31,640 >> আপনি যখন আপনার কোন প্রশ্ন থাকে, এই কাজ, বাড়াতে বিনামূল্যে হতে 461 00:22:31,640 --> 00:22:34,260 আপনার হাত, এবং আমি আসতে হবে কাছাকাছি এবং তাদের উত্তর. 462 00:22:34,260 --> 00:22:37,020 463 00:22:37,020 --> 00:22:39,330 >> শিক্ষার্থীদের 7: আমি ধুমধাড়াক্কা করতে পারেন কাগজ এক টুকরা? 464 00:22:39,330 --> 00:22:41,537 >> JASON HIRSCHHORN: কি খবর? 465 00:22:41,537 --> 00:26:46,047 466 00:26:46,047 --> 00:26:48,043 >> [টাইপ শব্দসমূহ] 467 00:26:48,043 --> 00:26:48,730 >> JASON HIRSCHHORN: ঠিক আছে. 468 00:26:48,730 --> 00:26:51,710 প্রথম pseudocode ধরে যাওয়া যাক, এবং তারপর আমি আপনি কয়েক আরো দেব 469 00:26:51,710 --> 00:26:52,960 মিনিট কোডিং শেষ. 470 00:26:52,960 --> 00:26:55,540 471 00:26:55,540 --> 00:26:58,650 >> কে আমাকে চলতে শুরু করে দিন প্রথম লাইন দিয়ে 472 00:26:58,650 --> 00:27:00,030 এই ফাংশন জন্য pseudocode? 473 00:27:00,030 --> 00:27:03,330 474 00:27:03,330 --> 00:27:05,740 >> শিক্ষার্থীদের 8: নিশ্চিত যে পরীক্ষা করুন আপনি দুটি ফাইল দেওয়া হয়. 475 00:27:05,740 --> 00:27:06,990 >> JASON HIRSCHHORN: ঠিক আছে. 476 00:27:06,990 --> 00:27:21,270 477 00:27:21,270 --> 00:27:22,990 এবং আমরা না হন তাহলে কি হবে? 478 00:27:22,990 --> 00:27:25,974 >> শিক্ষার্থীদের 8: ২ 0 ফিরে আসবে. 479 00:27:25,974 --> 00:27:27,872 >> JASON HIRSCHHORN: আমরা 0 ফিরে উচিত? 480 00:27:27,872 --> 00:27:30,182 >> শিক্ষার্থীদের 8: একটি ফিরতি - 481 00:27:30,182 --> 00:27:30,650 blanking. 482 00:27:30,650 --> 00:27:30,850 দুঃখিত. 483 00:27:30,850 --> 00:27:31,210 >> JASON HIRSCHHORN: হ্যাঁ. 484 00:27:31,210 --> 00:27:32,710 সম্ভবত না 0. 485 00:27:32,710 --> 00:27:34,680 0 সবকিছু ভাল মানে না. 486 00:27:34,680 --> 00:27:35,030 ঠিক আছে. 487 00:27:35,030 --> 00:27:36,730 সুতরাং যে প্রথম লাইন হচ্ছে pseudocode মধ্যে. 488 00:27:36,730 --> 00:27:38,715 কে pseudocode দ্বিতীয় লাইন আছে? 489 00:27:38,715 --> 00:27:40,630 >> শিক্ষার্থীদের 9: ফাইল উভয় ওপেন? 490 00:27:40,630 --> 00:27:41,880 >> JASON HIRSCHHORN: উভয় ফাইল খুলুন. 491 00:27:41,880 --> 00:27:49,970 492 00:27:49,970 --> 00:27:50,920 ঠিক আছে? 493 00:27:50,920 --> 00:27:52,850 >> শিক্ষার্থীদের 10: দেখার জন্য পরীক্ষা করে দেখুন ফাইল শূন্য হয় তাহলে কি হবে? 494 00:27:52,850 --> 00:28:10,906 495 00:28:10,906 --> 00:28:12,580 >> JASON HIRSCHHORN: করতে পরীক্ষা করুন নিশ্চিত শূন্য হয় ত্ত. 496 00:28:12,580 --> 00:28:15,800 একটি সরাইয়া হিসাবে - 497 00:28:15,800 --> 00:28:17,540 0 কাট - 498 00:28:17,540 --> 00:28:18,887 যে শূন্য হয়? 499 00:28:18,887 --> 00:28:20,080 >> শিক্ষার্থীদের 11: নং 500 00:28:20,080 --> 00:28:21,190 >> JASON HIRSCHHORN: যে শূন্য নয়. 501 00:28:21,190 --> 00:28:23,400 যে শূন্য টারমিনেটর বলা হয়. 502 00:28:23,400 --> 00:28:25,580 এটা আসলে শুধুমাত্র একটি ঠ দিয়ে বানান এর. 503 00:28:25,580 --> 00:28:28,580 যাতে এর বিরুদ্ধে কিছু চেক - যে আসলে একটি চরিত্র আছে - 504 00:28:28,580 --> 00:28:31,710 তাই যে বিরুদ্ধে কিছু করা হয় পরীক্ষণ দেখতে পরীক্ষণ হিসাবে একই না হলে এটা 505 00:28:31,710 --> 00:28:32,690 শূন্য সমান. 506 00:28:32,690 --> 00:28:34,100 >> এবং কিছু লোক - 507 00:28:34,100 --> 00:28:36,040 তাদের মো এবং তাদের সমস্যার উপর সেট - করিয়েছি 508 00:28:36,040 --> 00:28:36,890 বিভ্রান্ত ঐ দুটি. 509 00:28:36,890 --> 00:28:38,830 কিন্তু ঐ দুটি বিভিন্ন আসলে. 510 00:28:38,830 --> 00:28:40,220 এক একটি পংক্তি শেষ হয় - 511 00:28:40,220 --> 00:28:43,210 এক 0 একটি পয়েন্টার. 512 00:28:43,210 --> 00:28:46,490 >> শিক্ষার্থীদের 12: কেন আপনার কাছে চেক না ফাইল শূন্য নয় তা নিশ্চিত করুন 513 00:28:46,490 --> 00:28:48,670 আপনি তাদের খুলতে আগে? 514 00:28:48,670 --> 00:28:54,772 >> JASON HIRSCHHORN: তাই খোলা সংরক্ষণ যে ফাইলে কিছু. 515 00:28:54,772 --> 00:28:57,780 এবং যদি আপনি এখানে ফিরে যান - 516 00:28:57,780 --> 00:28:59,520 তাই এই লাইন - fopen - 517 00:28:59,520 --> 00:29:05,300 আপনি একটি ঠিকানা এবং দোকান দেবে এটি কাজ করে যদি ফাইলে যে ঠিকানা. 518 00:29:05,300 --> 00:29:07,650 এটা কাজ করে না, এটা শূন্য সংরক্ষণ করবে - 519 00:29:07,650 --> 00:29:08,020 >> শিক্ষার্থীদের 12: ওহ. 520 00:29:08,020 --> 00:29:08,180 ঠিক আছে. 521 00:29:08,180 --> 00:29:08,500 আপনি পেয়েছেন. 522 00:29:08,500 --> 00:29:09,050 >> JASON HIRSCHHORN: ফাইলের মধ্যে. 523 00:29:09,050 --> 00:29:11,990 সুতরাং আপনি শূন্য জন্য চেক করতে পারবেন না আপনি তাদের খোলা করেছি আগে. 524 00:29:11,990 --> 00:29:13,520 শূন্য কিছু না মানে সঠিকভাবে কাজ. 525 00:29:13,520 --> 00:29:18,030 526 00:29:18,030 --> 00:29:18,740 ঠিক আছে. 527 00:29:18,740 --> 00:29:22,590 তাই নিশ্চিত ত্ত করা চেক? 528 00:29:22,590 --> 00:29:23,200 বা কি? 529 00:29:23,200 --> 00:29:23,770 আমরা কি মনে করেন? 530 00:29:23,770 --> 00:29:24,310 আমরা যে সঙ্গে যাবেন. 531 00:29:24,310 --> 00:29:24,520 >> শিক্ষার্থীদের 13: হয়. 532 00:29:24,520 --> 00:29:25,020 >> JASON HIRSCHHORN: কি? 533 00:29:25,020 --> 00:29:25,930 হয় আমরাও? 534 00:29:25,930 --> 00:29:26,350 >> শিক্ষার্থীদের 13: হয়. 535 00:29:26,350 --> 00:29:26,390 >> JASON HIRSCHHORN: ঠিক আছে. 536 00:29:26,390 --> 00:29:28,510 আমরা কিছু আছে বলে মনে হচ্ছে যে উপর ঐক্যমত্য. 537 00:29:28,510 --> 00:29:30,520 শূন্য আমরাও. 538 00:29:30,520 --> 00:29:32,250 ঠিক আছে, pseudocode এর পরের লাইন. 539 00:29:32,250 --> 00:29:33,600 কে এখনো আমার একটি লাইন দেওয়া হয় নি? 540 00:29:33,600 --> 00:29:37,350 541 00:29:37,350 --> 00:29:38,295 আমরা আপনার জন্য অপেক্ষা করবে. 542 00:29:38,295 --> 00:29:39,020 হ্যাঁ. 543 00:29:39,020 --> 00:29:40,895 >> শিক্ষার্থীদের 14: আপনি পড়া আছে প্রথম ফাইল থেকে? 544 00:29:40,895 --> 00:29:42,290 >> JASON HIRSCHHORN: ঠিক আছে. 545 00:29:42,290 --> 00:29:46,240 >> শিক্ষার্থীদের 14: অথবা আমরা fscanf ব্যবহার করুন অথবা যে প্রথম ফাইলটি মত কিছু? 546 00:29:46,240 --> 00:29:50,650 >> JASON HIRSCHHORN: সুতরাং আমরা চাই প্রথম ফাইল থেকে পড়া এবং - 547 00:29:50,650 --> 00:29:51,900 এর অধিকার এখানে যে করা যাক. 548 00:29:51,900 --> 00:30:00,600 549 00:30:00,600 --> 00:30:01,880 সোর্স ফাইল থেকে পড়ুন. 550 00:30:01,880 --> 00:30:05,370 এবং তারপর, আমরা পরে কি করবেন সোর্স ফাইল থেকে পড়া? 551 00:30:05,370 --> 00:30:06,620 অন্য কারো? 552 00:30:06,620 --> 00:30:09,150 553 00:30:09,150 --> 00:30:12,190 >> শিক্ষার্থীদের 15: লিখুন মধ্যে গন্তব্য ফাইল? 554 00:30:12,190 --> 00:30:22,080 555 00:30:22,080 --> 00:30:25,620 >> JASON HIRSCHHORN: আমরা লিখতে গন্তব্য ফাইল, এবং - 556 00:30:25,620 --> 00:30:26,210 ঠিক আছে. 557 00:30:26,210 --> 00:30:30,030 আমরা আর কি নাই? 558 00:30:30,030 --> 00:30:32,460 আমার একটি প্রদত্ত না যিনি অন্য কারো এখনও কোড লাইন - pseudocode মধ্যে. 559 00:30:32,460 --> 00:30:33,510 হ্যাঁ. 560 00:30:33,510 --> 00:30:36,540 >> শিক্ষার্থীদের 16: হতে পারে আপনি সবসময় চেক করতে পারেন কিনা জন্য পড়তে কিছু আছে, 561 00:30:36,540 --> 00:30:37,970 পরের লাইন পছন্দ? 562 00:30:37,970 --> 00:30:39,550 পরের লাইন ভালো হয় যে, এটি উপস্থিত রয়েছে কি না. 563 00:30:39,550 --> 00:30:40,660 >> [ইলেক্ট্রনিক হুইসেল] 564 00:30:40,660 --> 00:30:41,095 >> JASON HIRSCHHORN: ওহো. 565 00:30:41,095 --> 00:30:43,120 এটা আমার জার্নালিং সফটওয়্যার এর. 566 00:30:43,120 --> 00:30:43,580 হাঁ? 567 00:30:43,580 --> 00:30:44,960 >> শিক্ষার্থীদের 16: হ্যাঁ. 568 00:30:44,960 --> 00:30:48,940 >> JASON HIRSCHHORN: তাই দিতে এটা আমার আরো এক সময়. 569 00:30:48,940 --> 00:30:51,640 >> শিক্ষার্থীদের 16: আছে কি না তা পরীক্ষা করুন থেকে এখনও একটি পরের লাইন 570 00:30:51,640 --> 00:30:52,920 পড়তে সোর্স ফাইল. 571 00:30:52,920 --> 00:30:53,500 >> JASON HIRSCHHORN: ঠিক আছে. 572 00:30:53,500 --> 00:30:56,060 সুতরাং আমরা লাইন পড়া করছি না - এখানে বাইট পড়া হয় - 573 00:30:56,060 --> 00:30:57,590 কিন্তু আপনি সঠিক করছি. 574 00:30:57,590 --> 00:31:00,040 আমরা যতক্ষণ পড়তে এবং লিখতে চান কোন বাইট আছে. 575 00:31:00,040 --> 00:31:11,430 576 00:31:11,430 --> 00:31:11,735 ঠিক আছে. 577 00:31:11,735 --> 00:31:16,940 এবং তাই এই সত্যিই সংভৃত হওয়া উচিত একটু, তারা সেখানে অধীনে কারণ. 578 00:31:16,940 --> 00:31:17,470 রাইট? 579 00:31:17,470 --> 00:31:20,620 আমরা বাইট ফুরিয়েছে পর্যন্ত, আমরা চলুন সোর্স ফাইল থেকে পড়তে ও লিখতে 580 00:31:20,620 --> 00:31:22,160 গন্তব্য ফাইল. 581 00:31:22,160 --> 00:31:24,510 >> এবং তারপর, শেষ কি pseudocode লাইন? 582 00:31:24,510 --> 00:31:26,380 দেওয়া না কেউ আমার কিছু এখনো. 583 00:31:26,380 --> 00:31:29,270 584 00:31:29,270 --> 00:31:30,260 >> শিক্ষার্থীদের 17: ফাইল বন্ধ করুন! 585 00:31:30,260 --> 00:31:31,510 >> JASON HIRSCHHORN: যথাযথভাবে. 586 00:31:31,510 --> 00:31:36,370 587 00:31:36,370 --> 00:31:37,450 ফাইল বন্ধ করুন. 588 00:31:37,450 --> 00:31:38,400 সুতরাং আমাদের pseudocode আছে. 589 00:31:38,400 --> 00:31:41,870 আমি মধ্যে pseudocode করা যাচ্ছে না gedit, এবং কয়েক মিনিট মধ্যে আমরা 590 00:31:41,870 --> 00:31:44,626 একসঙ্গে এই কোড হবে. 591 00:31:44,626 --> 00:33:55,280 592 00:33:55,280 --> 00:33:56,000 >> ঠিক আছে. 593 00:33:56,000 --> 00:33:58,290 আমাদের একটি গ্রুপ হিসাবে শুরু করা যাক. 594 00:33:58,290 --> 00:33:59,940 Nishant, আমি আমার নতুন ফাইল আছে. 595 00:33:59,940 --> 00:34:01,130 আমি এই পর্যন্ত খোলা করেছি. 596 00:34:01,130 --> 00:34:01,880 শিরোনামহীন দস্তাবেজ 1. 597 00:34:01,880 --> 00:34:05,490 আমি কি উচিত প্রথম জিনিস কি? 598 00:34:05,490 --> 00:34:07,040 >> NISHANT: লাইব্রেরি অন্তর্ভুক্ত করুন! 599 00:34:07,040 --> 00:34:08,219 >> JASON HIRSCHHORN: ঠিক আছে. 600 00:34:08,219 --> 00:34:11,070 কি লাইব্রেরি? 601 00:34:11,070 --> 00:34:17,570 >> NISHANT: stdio.h, stdlib.h, আমি বিশ্বাস করি? 602 00:34:17,570 --> 00:34:18,000 >> JASON HIRSCHHORN: ঠিক আছে. 603 00:34:18,000 --> 00:34:21,592 জন্য stdlib কি? 604 00:34:21,592 --> 00:34:23,010 >> NISHANT: আমি ভুলে গেছি. 605 00:34:23,010 --> 00:34:23,219 >> JASON HIRSCHHORN: ঠিক আছে. 606 00:34:23,219 --> 00:34:24,179 সুতরাং stdio অন্তর্ভুক্ত. 607 00:34:24,179 --> 00:34:28,630 আমি এমনকি আগে কি করতে হবে আমি কোডিং শুরু? 608 00:34:28,630 --> 00:34:29,710 >> NISHANT: একটি হেডার লিখুন? 609 00:34:29,710 --> 00:34:31,830 >> JASON HIRSCHHORN: কিভাবে এটা রঙ্গিন আমি পেতে পারি? 610 00:34:31,830 --> 00:34:34,060 >> [Interposing ভয়েসেস] 611 00:34:34,060 --> 00:34:35,040 >> NISHANT: কিভাবে আপনি এটি রঙ্গিন পেতে পারি? 612 00:34:35,040 --> 00:34:38,060 >> JASON HIRSCHHORN: কিভাবে আমি কোডিং রঙ হয়? 613 00:34:38,060 --> 00:34:38,570 >> NISHANT: আমি জানি না. 614 00:34:38,570 --> 00:34:38,830 ওহ. 615 00:34:38,830 --> 00:34:39,389 সংরক্ষণ করুন. 616 00:34:39,389 --> 00:34:39,929 >> JASON HIRSCHHORN: সংরক্ষণ করুন. 617 00:34:39,929 --> 00:34:40,270 হ্যাঁ. 618 00:34:40,270 --> 00:34:41,760 আমি একটি. সি হিসাবে এটি সংরক্ষণ করা উচিত. 619 00:34:41,760 --> 00:34:46,239 সুতরাং cp.c. হিসাবে ডেস্কটপে এটি সংরক্ষণ 620 00:34:46,239 --> 00:34:47,280 মিষ্টি. 621 00:34:47,280 --> 00:34:51,199 আর আমি পুরো শৈলী পেতে চান পয়েন্ট, কি করা উচিত আমি 622 00:34:51,199 --> 00:34:53,085 শীর্ষে অন্তর্ভুক্ত? 623 00:34:53,085 --> 00:34:58,390 >> NISHANT: আপনি আপনার নাম, নাম লিখতে পারেন প্রোগ্রাম, এবং উদ্দেশ্য 624 00:34:58,390 --> 00:34:59,640 পাশাপাশি প্রোগ্রামের? 625 00:34:59,640 --> 00:35:08,400 626 00:35:08,400 --> 00:35:10,040 >> JASON HIRSCHHORN: ভাল মনে হচ্ছে. 627 00:35:10,040 --> 00:35:10,470 চমৎকার. 628 00:35:10,470 --> 00:35:12,940 সুতরাং আপনি পুরোপুরি আমাদের শুরু বন্ধ করেছি. 629 00:35:12,940 --> 00:35:13,720 # অন্তর্ভুক্ত - 630 00:35:13,720 --> 00:35:15,365 আমরা লিখতে হবে - 631 00:35:15,365 --> 00:35:30,050 632 00:35:30,050 --> 00:35:30,870 ঠিক আছে. 633 00:35:30,870 --> 00:35:33,520 তাই আমি আমার সব যেতে সেট করছি মনে করি. 634 00:35:33,520 --> 00:35:38,003 কে আমার জন্য কোড প্রথম লাইন আছে - অথবা প্রথম কোড লাইনের যে 635 00:35:38,003 --> 00:35:41,280 এটি আমাদের প্রথম সন্তুষ্ট নিতে হবে pseudocode মধ্যে মন্তব্য? 636 00:35:41,280 --> 00:35:41,985 আপনি. 637 00:35:41,985 --> 00:35:48,780 >> শিক্ষার্থীদের 18: এটি int-নাও উচিত argc, এবং তারপর গৃহস্থালি * argv? 638 00:35:48,780 --> 00:35:49,490 >> JASON HIRSCHHORN: আমি মনে করি আপনি ডান করছি. 639 00:35:49,490 --> 00:35:56,270 এর এটি প্রধান, খোলা paren int পরিবর্তন করা যাক, int-argc, কমা, গৃহস্থালি * argv? 640 00:35:56,270 --> 00:35:57,150 যে পছন্দ? 641 00:35:57,150 --> 00:35:57,410 >> শিক্ষার্থীদের 18: বন্ধনী. 642 00:35:57,410 --> 00:35:58,260 >> JASON HIRSCHHORN: বন্ধনী. 643 00:35:58,260 --> 00:35:59,860 খোলা বন্ধনী, বন্ধ বন্ধনী, বন্ধ অভিভাবক. 644 00:35:59,860 --> 00:36:00,240 পারফেক্ট. 645 00:36:00,240 --> 00:36:02,160 এখন আমি কমান্ড লাইন আর্গুমেন্ট গ্রহণ করতে পারেন. 646 00:36:02,160 --> 00:36:02,430 ঠিক আছে. 647 00:36:02,430 --> 00:36:04,250 আমরা দুটি ফাইল দেওয়া করছি তা পরীক্ষা করুন. 648 00:36:04,250 --> 00:36:07,905 আপনি যেমন আমাকে যে দিতে পারেন. 649 00:36:07,905 --> 00:36:09,180 >> শিক্ষার্থীদের 18: argc যদি - 650 00:36:09,180 --> 00:36:11,060 এই এক 3 সমান হয় না. 651 00:36:11,060 --> 00:36:14,360 >> JASON HIRSCHHORN: যদি খোলা paren 3 argc সমান না? 652 00:36:14,360 --> 00:36:16,970 >> শিক্ষার্থীদের 18: হ্যাঁ, আপনি ফিরে 1 বা কিছু. 653 00:36:16,970 --> 00:36:17,460 >> JASON HIRSCHHORN: দুঃখিত. 654 00:36:17,460 --> 00:36:19,120 >> শিক্ষার্থীদের 18: ফিরে 1 বা কিছু. 655 00:36:19,120 --> 00:36:20,270 >> JASON HIRSCHHORN: 1 ফিরুন. 656 00:36:20,270 --> 00:36:22,230 ঠিক আছে? 657 00:36:22,230 --> 00:36:22,970 গ্রেট. 658 00:36:22,970 --> 00:36:24,290 উভয় ফাইল খুলুন. 659 00:36:24,290 --> 00:36:26,160 কে আমাকে উভয় ফাইল খুলতে সাহায্য করতে পারেন? 660 00:36:26,160 --> 00:36:28,125 কে এখনো আমার কোড দেওয়া হয় নি? 661 00:36:28,125 --> 00:36:31,510 662 00:36:31,510 --> 00:36:32,320 কার্ট? 663 00:36:32,320 --> 00:36:36,145 >> KURT: তাই সব ক্যাপ, F-আমি-l-ই তারকা উৎস. 664 00:36:36,145 --> 00:36:39,390 665 00:36:39,390 --> 00:36:40,920 >> JASON HIRSCHHORN: আমি যাচ্ছি স্বরবর্ণ নিতে আউট. 666 00:36:40,920 --> 00:36:41,570 সেগুলো হল শান্ত. 667 00:36:41,570 --> 00:36:42,716 এটা টাম্বলার মত. 668 00:36:42,716 --> 00:36:44,610 >> শিক্ষার্থীদের 18: fopen সাইটে সমান - 669 00:36:44,610 --> 00:36:46,612 >> JASON HIRSCHHORN: fopen সাইটে সমান? 670 00:36:46,612 --> 00:36:49,870 >> শিক্ষার্থীদের 18: ওপেন paren, argv, খোলা বন্ধনী. 671 00:36:49,870 --> 00:36:50,055 >> JASON HIRSCHHORN: অপেক্ষা করুন. 672 00:36:50,055 --> 00:36:50,240 দুঃখিত. 673 00:36:50,240 --> 00:36:51,050 ওপেন paren. 674 00:36:51,050 --> 00:36:51,456 ঠিক আছে. 675 00:36:51,456 --> 00:36:53,080 >> শিক্ষার্থীদের 18: হ্যাঁ. 676 00:36:53,080 --> 00:36:55,110 Argv সাব 1. 677 00:36:55,110 --> 00:36:55,860 >> JASON HIRSCHHORN: নিম্নতর 1? 678 00:36:55,860 --> 00:36:56,140 >> শিক্ষার্থীদের 18: হ্যাঁ. 679 00:36:56,140 --> 00:36:58,540 Argv খোলা বন্ধনী 1 - 680 00:36:58,540 --> 00:36:59,730 হ্যাঁ. 681 00:36:59,730 --> 00:37:06,470 এবং তারপর কমা, এবং তারপর খোলা ডবল উদ্ধৃতি, আর, ডাবল কোট, 682 00:37:06,470 --> 00:37:08,250 বন্ধ paren, সেমিকোলন. 683 00:37:08,250 --> 00:37:09,450 >> JASON HIRSCHHORN: মিষ্টি. 684 00:37:09,450 --> 00:37:10,950 এবং কি অন্য এক সম্পর্কে কি? 685 00:37:10,950 --> 00:37:16,030 >> শিক্ষার্থীদের 18: অত্যন্ত অনুরূপ, কিন্তু এর পরিবর্তে s-r-C-এর, আপনি D-s-টি কল চাই. 686 00:37:16,030 --> 00:37:17,060 >> JASON HIRSCHHORN: Oo! 687 00:37:17,060 --> 00:37:17,772 আমি যে চাই. 688 00:37:17,772 --> 00:37:20,010 >> শিক্ষার্থীদের 18: শুধু ডি, S-টি. হ্যাঁ. 689 00:37:20,010 --> 00:37:23,057 এবং তারপর,, 2 খোলা বন্ধনী argv. 690 00:37:23,057 --> 00:37:23,200 হ্যাঁ. 691 00:37:23,200 --> 00:37:26,720 এবং তারপর W পরিবর্তে R. 692 00:37:26,720 --> 00:37:27,620 হ্যাঁ. 693 00:37:27,620 --> 00:37:29,630 >> JASON HIRSCHHORN: গ্রেট. 694 00:37:29,630 --> 00:37:31,360 লাইন পরবর্তী কয়েক. 695 00:37:31,360 --> 00:37:34,040 এছাড়াও, কেহ যুক্ত জিনিষ হয়েছে থাকে আমরা সম্পন্ন করেছি যে লাইন, বিনামূল্যে হতে 696 00:37:34,040 --> 00:37:35,690 পাশাপাশি যারা যোগ করুন. 697 00:37:35,690 --> 00:37:37,520 নিশ্চিত ত্ত শূন্য করতে পরীক্ষা করুন. 698 00:37:37,520 --> 00:37:41,450 কে আমাকে আমি প্রয়োজন কোড দিতে পারেন pseudocode যে লাইন সন্তুষ্ট? 699 00:37:41,450 --> 00:37:44,430 700 00:37:44,430 --> 00:37:45,870 ধনু. 701 00:37:45,870 --> 00:37:58,645 >> তীরন্দাজ: SRC সমান সমান হলে শূন্য বা DST সমান সমান 702 00:37:58,645 --> 00:38:04,590 শূন্য, তাহলে আপনি ফিরে - 703 00:38:04,590 --> 00:38:07,130 704 00:38:07,130 --> 00:38:07,976 >> JASON HIRSCHHORN: কি? 705 00:38:07,976 --> 00:38:08,890 >> তীরন্দাজ: 2 ফিরে? 706 00:38:08,890 --> 00:38:09,760 >> JASON HIRSCHHORN: 2 ফিরুন. 707 00:38:09,760 --> 00:38:14,400 তাই খোলা paren SRC সমান হলে শূন্য সমান, বা - 708 00:38:14,400 --> 00:38:15,590 যে thing's যাই হোক না কেন - নল? 709 00:38:15,590 --> 00:38:16,346 পাইপ? 710 00:38:16,346 --> 00:38:17,140 আমরা পাইপ কল করব. 711 00:38:17,140 --> 00:38:22,340 পাইপ, পাইপ, DST সমান সমান শূন্য, 2 ফিরে. 712 00:38:22,340 --> 00:38:23,900 ঠিক আছে? 713 00:38:23,900 --> 00:38:26,060 আমরা বাইট ফুরিয়েছে পর্যন্ত - 714 00:38:26,060 --> 00:38:29,820 আমরা ধরণের থেকে এই পদক্ষেপ উপর এড়ানো এখানে যাচ্ছে করতে pseudocode অংশ. 715 00:38:29,820 --> 00:38:31,970 >> কিন্তু যতক্ষণ না আমরা বাইট ফুরিয়েছে - যে শব্দ মত কি করে? 716 00:38:31,970 --> 00:38:34,680 সি কাঠামো কি প্রকারের - 717 00:38:34,680 --> 00:38:36,160 কিন্তু আমি শব্দ গঠন ব্যবহার করবেন না, আমরা ব্যবহার শুরু করতে যাচ্ছেন, কারণ 718 00:38:36,160 --> 00:38:37,350 যে অন্যান্য ক্ষেত্রে - 719 00:38:37,350 --> 00:38:39,495 কিন্তু সি হাতিয়ার মত যে শব্দ আছে? 720 00:38:39,495 --> 00:38:39,970 >> শিক্ষার্থীদের 19: একটি লুপ. 721 00:38:39,970 --> 00:38:40,980 >> JASON HIRSCHHORN: একটি লুপ. 722 00:38:40,980 --> 00:38:43,060 একটি লুপ মত শোনায়. 723 00:38:43,060 --> 00:38:49,670 সুতরাং যারা আমার প্রথম লাইন দিতে পারে অধিকার এখানে লুপ কোডের? 724 00:38:49,670 --> 00:38:56,320 725 00:38:56,320 --> 00:39:01,980 আপনি বাছাই করতে পারেন কি ধরনের আপনি কি আমাকে দিতে হলে লুপ আপনি যদি চান 726 00:39:01,980 --> 00:39:03,215 কোড এই লাইন. 727 00:39:03,215 --> 00:39:04,150 তিন ধরনের আছে. 728 00:39:04,150 --> 00:39:06,530 আপনি বাছাই পেতে. 729 00:39:06,530 --> 00:39:08,080 আমি ঐ এক সুপারিশ করবে. 730 00:39:08,080 --> 00:39:08,410 Avi. 731 00:39:08,410 --> 00:39:09,230 আপনি কোনটি চান? 732 00:39:09,230 --> 00:39:09,960 >> AVI: জন্য. 733 00:39:09,960 --> 00:39:11,460 >> JASON HIRSCHHORN: জন্য. 734 00:39:11,460 --> 00:39:15,180 >> AVI: আমি শূন্য সমান int. 735 00:39:15,180 --> 00:39:17,360 >> JASON HIRSCHHORN: ঠিক আছে. 736 00:39:17,360 --> 00:39:18,570 >> AVI: আমি প্রায় নিশ্চিত না এই ভাগে. 737 00:39:18,570 --> 00:39:29,080 কিন্তু আমি সাইজ কম তারকা উৎস? 738 00:39:29,080 --> 00:39:31,128 আমি যে এর নিশ্চিত না. 739 00:39:31,128 --> 00:39:32,580 >> JASON HIRSCHHORN: ঠিক আছে. 740 00:39:32,580 --> 00:39:35,870 >> আপনি চান কারণ: AVI একটি ফাইলের আকার, ডান? 741 00:39:35,870 --> 00:39:41,090 >> JASON HIRSCHHORN: তাই এটা সম্ভবত না করবে না আমাদের প্রকৃত মাপ দিতে 742 00:39:41,090 --> 00:39:43,010 বাইট ফাইল. 743 00:39:43,010 --> 00:39:47,680 তাই আমরা কি কি করতে পারে? 744 00:39:47,680 --> 00:39:48,810 লুপ আরেক ধরনের কি? 745 00:39:48,810 --> 00:39:50,180 অথবা আমরা জন্য লুপ দিয়ে বিদ্ধ করা উচিত? 746 00:39:50,180 --> 00:39:55,350 747 00:39:55,350 --> 00:39:57,900 >> শিক্ষার্থীদের 20: আপনি যখন একটি লুপ করতে পারে? 748 00:39:57,900 --> 00:40:01,350 এবং তারপর, কি আপনি করতে চাই you'd হয় - 749 00:40:01,350 --> 00:40:03,930 আমরা ফাইলের জন্য একটি গৃহস্থালি * কারণ. 750 00:40:03,930 --> 00:40:07,950 আমরা শুধু বৃদ্ধিশীল রাখতে তাই যদি যে আমরা শূন্য চরিত্র এ খুঁজে পেতে চাই না হওয়া পর্যন্ত 751 00:40:07,950 --> 00:40:08,500 এটি শেষ? 752 00:40:08,500 --> 00:40:11,130 অথবা কোন, ফাইল কিভাবে কাজ করে হল? 753 00:40:11,130 --> 00:40:14,300 >> JASON HIRSCHHORN: সুতরাং আমরা রাখতে পারেন * গৃহস্থালি বৃদ্ধিশীল 754 00:40:14,300 --> 00:40:16,340 আমরা শূন্য খুঁজে না হওয়া পর্যন্ত - 755 00:40:16,340 --> 00:40:18,580 >> শিক্ষার্থীদের 20: মূলত বর্তা অক্ষর দ্বারা অক্ষর আমরা আঘাত না হওয়া পর্যন্ত 756 00:40:18,580 --> 00:40:21,250 ফাইলের শেষে. 757 00:40:21,250 --> 00:40:21,600 >> JASON HIRSCHHORN: হ্যাঁ. 758 00:40:21,600 --> 00:40:22,560 সুতরাং যে আমরা যেতে চাই কি. 759 00:40:22,560 --> 00:40:24,545 আমরা পড়া, অক্ষর রাখতে চান অক্ষর দ্বারা, আমরা পেতে না হওয়া পর্যন্ত 760 00:40:24,545 --> 00:40:25,080 ফাইলের শেষে. 761 00:40:25,080 --> 00:40:25,375 >> শিক্ষার্থীদের 20: হ্যাঁ. 762 00:40:25,375 --> 00:40:25,860 দেখুন - 763 00:40:25,860 --> 00:40:28,540 শেষ বা স্টপ সাইন কি একটি টেক্সট ফাইল শেষে. 764 00:40:28,540 --> 00:40:28,620 >> JASON HIRSCHHORN: ঠিক আছে. 765 00:40:28,620 --> 00:40:30,140 সুতরাং আমরা ফাইলের শেষে পেতে হলে - কিভাবে আমরা আমাদের পৌঁছেছেন জানেন 766 00:40:30,140 --> 00:40:33,200 একটি ফাইলের শেষে? 767 00:40:33,200 --> 00:40:34,710 আমি আহ্বান করছি - যদি 768 00:40:34,710 --> 00:40:35,910 তাই এর একধাপ পিছনে যাক. 769 00:40:35,910 --> 00:40:37,550 একটি ফাংশন কি? 770 00:40:37,550 --> 00:40:39,360 এর ঠিক এই লাইন করতে যাওয়া যাক. 771 00:40:39,360 --> 00:40:40,630 সোর্স ফাইল থেকে পড়ুন. 772 00:40:40,630 --> 00:40:41,880 কে আমার কোড যে লাইন দিতে পারেন? 773 00:40:41,880 --> 00:40:45,592 774 00:40:45,592 --> 00:40:47,590 >> শিক্ষার্থীদের 21: fscanf? 775 00:40:47,590 --> 00:40:49,110 >> JASON HIRSCHHORN: fscanf. 776 00:40:49,110 --> 00:40:49,510 ঠিক আছে. 777 00:40:49,510 --> 00:40:52,240 আমি কি পড়তে চান, খুব বিশেষ করে, এক বাইট? 778 00:40:52,240 --> 00:40:55,012 779 00:40:55,012 --> 00:40:56,860 >> শিক্ষার্থীদের 21: আমি জানি না. 780 00:40:56,860 --> 00:40:57,110 >> JASON HIRSCHHORN: ঠিক আছে. 781 00:40:57,110 --> 00:40:59,380 Fscanf তুলনায় এমনকি সহজ - একটি কি - 782 00:40:59,380 --> 00:41:01,890 আমি একটি সোর্স ফাইল থেকে পড়তে চান? 783 00:41:01,890 --> 00:41:03,720 উৎস ফাইল থেকে পড়ুন. 784 00:41:03,720 --> 00:41:04,850 একটি ফাংশন কি - হাঁ. 785 00:41:04,850 --> 00:41:05,380 >> শিক্ষার্থীদের 22: এটা fread আছে? 786 00:41:05,380 --> 00:41:06,070 >> JASON HIRSCHHORN: fread. 787 00:41:06,070 --> 00:41:07,550 আমি এর সঙ্গে বিদ্ধ করা যাক মনে এখন জন্য যে এক. 788 00:41:07,550 --> 00:41:10,380 789 00:41:10,380 --> 00:41:13,650 আর্গুমেন্ট কি ধরনের fread নিতে? 790 00:41:13,650 --> 00:41:17,410 >> শিক্ষার্থীদের 22: সম্ভবত ফাইলের ধরন, এবং তারপর ফাইলে অবস্থান? 791 00:41:17,410 --> 00:41:19,550 >> JASON HIRSCHHORN: আমি এখানে কি টাইপ করতে পারেন জিনিসটা আর্গুমেন্ট কি ধরনের 792 00:41:19,550 --> 00:41:20,950 fread লাগে? 793 00:41:20,950 --> 00:41:23,710 >> একাধিক ছাত্র: ম্যান fread. 794 00:41:23,710 --> 00:41:24,740 >> JASON HIRSCHHORN: ম্যান fread এবং fwrite. 795 00:41:24,740 --> 00:41:25,980 তারা একসাথে থাকা মনে হচ্ছে. 796 00:41:25,980 --> 00:41:29,589 সুতরাং fread কতগুলি আর্গুমেন্ট লাগে? 797 00:41:29,589 --> 00:41:30,920 >> শিক্ষার্থীদের 23: চার. 798 00:41:30,920 --> 00:41:32,690 >> JASON HIRSCHHORN: এটা লাগে চার আর্গুমেন্ট. 799 00:41:32,690 --> 00:41:41,100 এটি একটি পয়েন্টার, একটি আকার নেয়, এবং যে অদ্ভুত যা জিনিস,, এবং কিছু ফাইল. 800 00:41:41,100 --> 00:41:42,000 ঠিক আছে? 801 00:41:42,000 --> 00:41:43,990 এর অধিকার এখানে এটি সম্পর্কে পড়া যাক. 802 00:41:43,990 --> 00:41:49,370 "ফাংশন fread এন memb সার্চ তথ্য উপাদান, প্রতিটি আকার বাইট 803 00:41:49,370 --> 00:41:53,840 দীর্ঘ, স্ট্রীম থেকে দ্বারা জোরাল অবস্থানে তাদের সংরক্ষণ, স্ট্রিম 804 00:41:53,840 --> 00:41:56,170 পয়েন্টার দ্বারা প্রদত্ত. " 805 00:41:56,170 --> 00:41:57,960 >> তাই চার আর্গুমেন্ট. 806 00:41:57,960 --> 00:42:04,510 কেন আমি এই কপি করা হবে না, এবং ডান এখানে পেস্ট করুন. 807 00:42:04,510 --> 00:42:10,060 808 00:42:10,060 --> 00:42:10,770 ঠিক আছে. 809 00:42:10,770 --> 00:42:13,673 সুতরাং যারা ভর্তি শুরু করতে পারেন আমার জন্য এই আর্গুমেন্ট? 810 00:42:13,673 --> 00:42:15,840 Avi. 811 00:42:15,840 --> 00:42:17,720 >> AVI: অকার্যকর খুঁজে নিন. 812 00:42:17,720 --> 00:42:20,530 শুধু SRC রাখুন. 813 00:42:20,530 --> 00:42:23,142 পয়েন্টার এবং তারকা খুঁজে নিন. 814 00:42:23,142 --> 00:42:26,102 SRC রাখুন. 815 00:42:26,102 --> 00:42:27,050 তারপর - 816 00:42:27,050 --> 00:42:28,500 >> JASON HIRSCHHORN: তাই আমি বন্ধ করতে যাচ্ছি সেখানে আপনি, যে ভুল কারণ. 817 00:42:28,500 --> 00:42:32,590 818 00:42:32,590 --> 00:42:34,710 আপনি SRC সাথে সঠিক, কিন্তু SRC যেখানে যেতে হবে? 819 00:42:34,710 --> 00:42:35,960 >> [Interposing ভয়েসেস] 820 00:42:35,960 --> 00:42:38,976 821 00:42:38,976 --> 00:42:41,610 >> JASON HIRSCHHORN: এটা উচিত এখানে যান উপর. 822 00:42:41,610 --> 00:42:43,790 যে SRC এর - আমাদের SRC একটি প্রকার. 823 00:42:43,790 --> 00:42:44,610 এর এখানে তাকান. 824 00:42:44,610 --> 00:42:49,610 এটি একটি টাইপ ফাইল * জন্য জিজ্ঞাসা করা হয়, আমরা আসলে সাধারণত যে ভালো তাদের দেখতে. 825 00:42:49,610 --> 00:42:57,630 সুতরাং এই একটি যুক্তি জন্য জিজ্ঞাসা করা হয় * SRC যে বলা প্রবাহ ফাইল টাইপ. 826 00:42:57,630 --> 00:42:58,480 ঠিক আছে? 827 00:42:58,480 --> 00:43:00,410 >> কিছু করার কি সাইজ আমরা পড়তে চান? 828 00:43:00,410 --> 00:43:03,340 আমি আপনাকে এই দিয়েছেন সমস্যার বিবরণ. 829 00:43:03,340 --> 00:43:04,370 >> শিক্ষার্থীদের 24: একটি সময়ে এক বাইট. 830 00:43:04,370 --> 00:43:05,340 >> JASON HIRSCHHORN: এক বাইট. 831 00:43:05,340 --> 00:43:08,205 একটি বাইট কত বড় হয়? 832 00:43:08,205 --> 00:43:11,642 তার আকার বাইট হয়, তাই কি আমি অধিকার আছে লাগাতে পারেন? 833 00:43:11,642 --> 00:43:12,910 >> শিক্ষার্থীদের 25: এক. 834 00:43:12,910 --> 00:43:14,730 >> JASON HIRSCHHORN: এক. 835 00:43:14,730 --> 00:43:17,020 রাইট. 836 00:43:17,020 --> 00:43:19,940 এর আয়তন একক বাইট হয়, তাই 1 1 বাইট. 837 00:43:19,940 --> 00:43:22,284 আমি একটি সময়ে পড়তে কত চান. 838 00:43:22,284 --> 00:43:23,520 >> শিক্ষার্থীদের 26: এক? 839 00:43:23,520 --> 00:43:24,270 >> JASON HIRSCHHORN: একটা জিনিষ. 840 00:43:24,270 --> 00:43:28,540 আমি আকারের এক জিনিস পড়তে চান 1, একটি সময়ে এক কামড়. 841 00:43:28,540 --> 00:43:32,110 আমি এটা পড়া এবং একবার যেখানে আমি এটা করা হয়? 842 00:43:32,110 --> 00:43:35,050 843 00:43:35,050 --> 00:43:36,510 >> শিক্ষার্থীদের 27: গন্তব্য? 844 00:43:36,510 --> 00:43:39,270 >> JASON HIRSCHHORN: তাই আমি না লাগাতে পারেন এটা সোজা গন্তব্য মধ্যে. 845 00:43:39,270 --> 00:43:40,800 >> শিক্ষার্থীদের 28: আপনি করত রাখা করছি এটি একটি তৃতীয় পয়েন্টার মধ্যে? 846 00:43:40,800 --> 00:43:41,780 >> শিক্ষার্থীদের 27: গন্তব্যে. 847 00:43:41,780 --> 00:43:42,270 >> JASON HIRSCHHORN: ঠিক আছে. 848 00:43:42,270 --> 00:43:42,630 হ্যাঁ. 849 00:43:42,630 --> 00:43:46,820 >> শিক্ষার্থীদের 29: আপনি কিছু ডিক্লেয়ার করতে পারেন একটি অস্থায়ী স্টোরেজ আগে হিসাবে কাজ. 850 00:43:46,820 --> 00:43:47,350 >> JASON HIRSCHHORN: ঠিক আছে. 851 00:43:47,350 --> 00:43:50,080 আমার যে দিন. 852 00:43:50,080 --> 00:43:53,930 >> শিক্ষার্থীদের 29: আরেকটি ফাইল পয়েন্টার, হয়ত? 853 00:43:53,930 --> 00:43:54,220 >> JASON HIRSCHHORN: ঠিক আছে. 854 00:43:54,220 --> 00:43:55,585 তাই এই অকার্যকর তারকা - 855 00:43:55,585 --> 00:43:57,750 এটি একটি টাইপ অকার্যকর তারকা, তাই না হয় একটি ফাইল পয়েন্টার হতে হবে. 856 00:43:57,750 --> 00:44:02,520 আর আমি এক বাইট পড়া করছি যদি, একটি ভাল জায়গা হবে যেখানে 857 00:44:02,520 --> 00:44:03,850 এক বাইট জমা করার? 858 00:44:03,850 --> 00:44:04,660 >> শিক্ষার্থীদের 29: একটি অ্যারের? 859 00:44:04,660 --> 00:44:05,770 >> JASON HIRSCHHORN: একটি অ্যারে. 860 00:44:05,770 --> 00:44:07,730 ঠিক আছে. 861 00:44:07,730 --> 00:44:14,040 এবং কিছু যে কি কি হয় মাত্র এক বাইট আকার? 862 00:44:14,040 --> 00:44:16,980 863 00:44:16,980 --> 00:44:18,060 >> শিক্ষার্থীদের 30: একটি গৃহস্থালি *? 864 00:44:18,060 --> 00:44:18,530 >> শিক্ষার্থীদের 29: হ্যাঁ. 865 00:44:18,530 --> 00:44:19,880 >> JASON HIRSCHHORN: একটি গৃহস্থালি * এক বাইট নয়. 866 00:44:19,880 --> 00:44:20,440 >> শিক্ষার্থীদের 29: একটি গৃহস্থালি. 867 00:44:20,440 --> 00:44:21,810 >> JASON HIRSCHHORN: একটি গৃহস্থালি এক বাইট. 868 00:44:21,810 --> 00:44:22,920 রাইট? 869 00:44:22,920 --> 00:44:26,740 তাই আসুন এই বাফার কল করা যাক একটি জেনেরিক হয় সংরক্ষণ এই জিনিস জন্য ব্যবহৃত নাম 870 00:44:26,740 --> 00:44:27,910 কিছু সাময়িকভাবে. 871 00:44:27,910 --> 00:44:30,880 তাই আমি একটি বাফার তৈরি. 872 00:44:30,880 --> 00:44:31,150 রাইট? 873 00:44:31,150 --> 00:44:32,990 কিন্তু এটা * একটি অকার্যকর লাগবে. 874 00:44:32,990 --> 00:44:38,660 তাই হয়তো আপনি ঠিক যে এটা আকার 0 একটি বাফার হতে হবে. 875 00:44:38,660 --> 00:44:41,070 সুতরাং এটি একটি সঞ্চয় - 876 00:44:41,070 --> 00:44:41,280 ডান. 877 00:44:41,280 --> 00:44:43,560 >> কারণ এখানে এই অধিকার - গৃহস্থালি বাফার একটি অক্ষর, কিন্তু 878 00:44:43,560 --> 00:44:45,110 এই * একটি অকার্যকর লাগে - 879 00:44:45,110 --> 00:44:45,870 একটি পয়েন্টার. 880 00:44:45,870 --> 00:44:50,640 তাই আমি এখন এই না এবং পারে বাফার একটি পয়েন্টার. 881 00:44:50,640 --> 00:44:53,214 আমি আর কী করতে পারে? 882 00:44:53,214 --> 00:44:55,775 >> শিক্ষার্থীদের 31: গৃহস্থালি পরবর্তী একটি তারকা রাখুন. 883 00:44:55,775 --> 00:44:58,380 >> JASON HIRSCHHORN: আমি করতে পারে এটা গৃহস্থালি * তৈরি করেছেন. 884 00:44:58,380 --> 00:45:00,216 ঠিক আছে. 885 00:45:00,216 --> 00:45:03,131 আমি যেত না অন্য জিনিস কি? 886 00:45:03,131 --> 00:45:04,050 অথবা এর এই এক সঙ্গে নিয়ে চলুন. 887 00:45:04,050 --> 00:45:05,740 চর * বাফার, তাই কি আমি এখানে স্থাপন করা হয়? 888 00:45:05,740 --> 00:45:08,290 889 00:45:08,290 --> 00:45:09,310 >> শিক্ষার্থীদের 31: বাফার. 890 00:45:09,310 --> 00:45:10,560 >> JASON HIRSCHHORN: বাফার. 891 00:45:10,560 --> 00:45:12,640 892 00:45:12,640 --> 00:45:14,500 বাফার একটি গৃহস্থালি একটি পয়েন্টার. 893 00:45:14,500 --> 00:45:19,480 এবং যে অবস্থানে, আমরা নির্বাণ করছি আমরা পড়েছি কিছু এক বাইট. 894 00:45:19,480 --> 00:45:19,980 হ্যাঁ. 895 00:45:19,980 --> 00:45:20,700 Avi. 896 00:45:20,700 --> 00:45:21,230 >> AVI: শুধু একটি দ্রুত প্রশ্ন. 897 00:45:21,230 --> 00:45:24,440 আপনি বাফার malloc করতে চান? 898 00:45:24,440 --> 00:45:25,930 >> JASON HIRSCHHORN: কে যা করতে পারেন যে প্রশ্নের উত্তর? 899 00:45:25,930 --> 00:45:30,210 >> শিক্ষার্থীদের 32: ওয়েল, এটা না না সত্যিই এই মুহূর্তে কিছু বিন্দু, তাই - 900 00:45:30,210 --> 00:45:32,610 >> JASON HIRSCHHORN: কিন্তু কি আমরা এটা malloc করতে চান? 901 00:45:32,610 --> 00:45:35,600 >> শিক্ষার্থীদের 32: আপনি এটা করতে হলে যে আপনার যা দরকার তা চাই কারণ ভাবে, আমি, হাঁ, অনুমান 902 00:45:35,600 --> 00:45:36,990 এটি নির্দেশ করার জন্য কিছু জায়গা. 903 00:45:36,990 --> 00:45:38,350 >> JASON HIRSCHHORN: আমরা কি এটা malloc আছে? 904 00:45:38,350 --> 00:45:40,580 >> শিক্ষার্থীদের 33: আপনি চলুন লুপ বাইরে এটি ব্যবহার করুন. 905 00:45:40,580 --> 00:45:42,524 >> JASON HIRSCHHORN: আমরা যাচ্ছে লুপ বাইরে এটি ব্যবহার? 906 00:45:42,524 --> 00:45:44,392 >> শিক্ষার্থীদের 34: হ্যাঁ. 907 00:45:44,392 --> 00:45:44,860 >> শিক্ষার্থীদের 35: অপেক্ষা করুন. 908 00:45:44,860 --> 00:45:46,980 আমরা তা ডিক্লেয়ার করতে চান অতিক্রম করতে লুপ? 909 00:45:46,980 --> 00:45:50,100 >> JASON HIRSCHHORN: তাই আমি মনে করি আমরা আছে অনুমান এখানে আমরা যে কিছু ছদ্ম যখন লুপ 910 00:45:50,100 --> 00:45:51,950 , চিন্তা করার চেষ্টা করে আমরা এখনো অর্জিত হয়নি. 911 00:45:51,950 --> 00:45:54,710 912 00:45:54,710 --> 00:45:56,010 আমরা এটা malloc করতে হবে না. 913 00:45:56,010 --> 00:45:59,310 আমরা প্রধান অপারেটিং করছি, এটি শুধুমাত্র যাচ্ছে এই লুপ ভিতরে ব্যবহার করা হবে. 914 00:45:59,310 --> 00:46:00,540 এটি বিদ্যমান না প্রয়োজন এই বাইরে. 915 00:46:00,540 --> 00:46:02,340 >> সুতরাং এটি একটি স্থানীয় পরিবর্তনশীল হতে পারে. 916 00:46:02,340 --> 00:46:03,925 আপনি একটি পয়েন্টার আছে একটি স্থানীয় পরিবর্তনশীল. 917 00:46:03,925 --> 00:46:07,984 918 00:46:07,984 --> 00:46:09,590 >> শিক্ষার্থীদের 36: কিন্তু এটা না কিছু ইশারা. 919 00:46:09,590 --> 00:46:11,540 >> JASON HIRSCHHORN: না, এটা না কিছু সক্রিয়া. 920 00:46:11,540 --> 00:46:12,790 কিন্তু আমরা এটি ব্যবহার করতে যাচ্ছেন না. 921 00:46:12,790 --> 00:46:15,300 আমরা কিছু করা চলুন এটা প্রথমবার আমরা এটি ব্যবহার. 922 00:46:15,300 --> 00:46:16,580 সুতরাং যে ঠিক আছে মনে হয়. 923 00:46:16,580 --> 00:46:17,780 তাই আমরা এখানে malloc হবে না. 924 00:46:17,780 --> 00:46:19,360 এবং আমি হিসাবে এটি ঠিক আছে মনে হয়. 925 00:46:19,360 --> 00:46:24,350 926 00:46:24,350 --> 00:46:25,790 ঠিক আছে. 927 00:46:25,790 --> 00:46:27,190 আমরা fread লাইন আছে. 928 00:46:27,190 --> 00:46:28,490 এর পরের লাইন করুক না. 929 00:46:28,490 --> 00:46:32,984 >> আমরা একটি ফাইলে লিখতে চান, তা হল কি সেটা ব্যবহার করার জন্য একটি ভাল ফাংশন? 930 00:46:32,984 --> 00:46:33,770 >> শিক্ষার্থীদের 37: fwrite? 931 00:46:33,770 --> 00:46:35,140 >> শিক্ষার্থীদের 38: fprintf? 932 00:46:35,140 --> 00:46:36,010 >> JASON HIRSCHHORN: fprintf এক. 933 00:46:36,010 --> 00:46:37,260 অন্য এক কি? 934 00:46:37,260 --> 00:46:37,680 >> শিক্ষার্থীদের 39: fwrite. 935 00:46:37,680 --> 00:46:38,510 >> JASON HIRSCHHORN: fwrite. 936 00:46:38,510 --> 00:46:41,250 এবং আমাদের উদ্দেশ্যে, fwrite, আমরা এখানে যা দেখেছি, হয় 937 00:46:41,250 --> 00:46:42,500 সম্ভবত ভাল পছন্দ. 938 00:46:42,500 --> 00:46:51,970 939 00:46:51,970 --> 00:46:53,950 এটা পাশাপাশি চারটি আর্গুমেন্ট লাগে. 940 00:46:53,950 --> 00:46:57,570 Nishant, আপনি দিতে পারেন আর্গুমেন্ট আমার? 941 00:46:57,570 --> 00:47:00,570 >> NISHANT: প্রথম এক এর চালু শুধু বাফার হতে. 942 00:47:00,570 --> 00:47:02,210 >> JASON HIRSCHHORN: ঠিক আছে. 943 00:47:02,210 --> 00:47:06,752 >> NISHANT: দ্বিতীয় এক মাত্র 1 হতে যাচ্ছে. 944 00:47:06,752 --> 00:47:09,510 তৃতীয় এক 1 হতে যাচ্ছে. 945 00:47:09,510 --> 00:47:11,470 এবং চতুর্থ এক DST হতে যাচ্ছে. 946 00:47:11,470 --> 00:47:18,010 947 00:47:18,010 --> 00:47:19,550 >> JASON HIRSCHHORN: কেহ আছে যে লাইন সম্পর্কে কোন প্রশ্ন? 948 00:47:19,550 --> 00:47:28,370 949 00:47:28,370 --> 00:47:29,130 যে দেখতেও ভাল. 950 00:47:29,130 --> 00:47:29,590 ঠিক আছে. 951 00:47:29,590 --> 00:47:34,250 তাই এখন এটা আমরা করছি এক জিনিস মনে হচ্ছে নিখোঁজ - আসলে, আমি কি লিখতে যাক 952 00:47:34,250 --> 00:47:35,090 এই শেষ লাইন. 953 00:47:35,090 --> 00:47:36,300 ফাইল বন্ধ করুন. 954 00:47:36,300 --> 00:47:38,880 কে লিখিতভাবে আমাদের পর্যন্ত শেষ করতে পারেন এই শেষ দুই লাইন? 955 00:47:38,880 --> 00:47:39,120 হ্যাঁ. 956 00:47:39,120 --> 00:47:39,850 দুঃখিত, আপনার নাম কি? 957 00:47:39,850 --> 00:47:40,580 >> লুসি: লুসি. 958 00:47:40,580 --> 00:47:41,580 >> JASON HIRSCHHORN: লুসি. 959 00:47:41,580 --> 00:47:47,560 >> লুসি: তারপর fclose SRC এবং fclose গন্তব্য. 960 00:47:47,560 --> 00:47:52,430 >> JASON HIRSCHHORN: fclose, খোলা paren, SRC, বন্ধ paren, সেমিকোলন. 961 00:47:52,430 --> 00:47:53,680 এবং fclose - 962 00:47:53,680 --> 00:47:57,560 963 00:47:57,560 --> 00:47:58,090 হাঁ? 964 00:47:58,090 --> 00:48:01,710 >> লুসি: ওপেন বন্ধনী, DST এবং তারপর সেমিকোলন. 965 00:48:01,710 --> 00:48:02,520 >> JASON HIRSCHHORN: গ্রেট. 966 00:48:02,520 --> 00:48:04,338 এবং আমি শেষে কি অন্তর্ভুক্ত করা উচিত? 967 00:48:04,338 --> 00:48:05,210 >> লুসি: 0 ফিরে. 968 00:48:05,210 --> 00:48:05,570 >> JASON HIRSCHHORN: 0 ফিরে. 969 00:48:05,570 --> 00:48:06,820 আমি আছে? 970 00:48:06,820 --> 00:48:10,560 971 00:48:10,560 --> 00:48:12,590 শুধু একটি প্রশ্ন. 972 00:48:12,590 --> 00:48:14,957 আমরা ফিরতি 0 অন্তর্ভুক্ত করার আছে? 973 00:48:14,957 --> 00:48:16,240 >> একাধিক ছাত্র: নং 974 00:48:16,240 --> 00:48:16,430 >> JASON HIRSCHHORN: নং 975 00:48:16,430 --> 00:48:18,090 মুখ্য স্বয়ংক্রিয়ভাবে এটি আছে আপনি শেষ পেতে হলে. 976 00:48:18,090 --> 00:48:20,580 কিন্তু আমি এটা চমৎকার চিন্তা স্পষ্টভাবে এটা অন্তর্ভুক্ত. 977 00:48:20,580 --> 00:48:23,860 আমরা অন্যান্য ফেরার করছি বিশেষ করে যখন প্রোগ্রামটি সারা জিনিস. 978 00:48:23,860 --> 00:48:24,810 ঠিক আছে. 979 00:48:24,810 --> 00:48:26,230 এই আমরা অনুপস্থিত করছি কি - 980 00:48:26,230 --> 00:48:28,520 কি যখন? 981 00:48:28,520 --> 00:48:31,630 কে কিছু মনে করতে পারেন - 982 00:48:31,630 --> 00:48:35,240 কিছু ধারনা আছে কি জিনিস সেখানে যেতে পারে? 983 00:48:35,240 --> 00:48:37,350 এটা কিছু কিছু pseudocode আছে এমনকি আপনি যদি ভাষা পছন্দ? 984 00:48:37,350 --> 00:48:41,330 >> আমরা সত্যিই কি কি - কি আমরা যতক্ষণ যেতে চান? 985 00:48:41,330 --> 00:48:41,980 হ্যাঁ, লুসি. 986 00:48:41,980 --> 00:48:43,240 >> লুসি: ফাইলের শেষে. 987 00:48:43,240 --> 00:48:44,990 >> JASON HIRSCHHORN: ফাইলের শেষে. 988 00:48:44,990 --> 00:48:49,280 সুতরাং আপনি ফাইলের শেষে দ্বারা কি বোঝাতে চেয়েছেন? 989 00:48:49,280 --> 00:48:50,955 >> লুসি: আপনি পৌঁছাতে একবার ফাইলের শেষে, থামাতে. 990 00:48:50,955 --> 00:48:51,240 >> JASON HIRSCHHORN: ঠিক আছে. 991 00:48:51,240 --> 00:48:53,460 তাই একবার আমরা ফাইলের শেষে পৌঁছানোর. 992 00:48:53,460 --> 00:48:56,893 আমরা পৌঁছেছেন যখন আমরা কিভাবে জানি ফাইলের শেষে? 993 00:48:56,893 --> 00:48:59,900 >> শিক্ষার্থীদের 40: আমি বাফার মনে শূন্য থেকে সেট করা হবে. 994 00:48:59,900 --> 00:49:01,885 >> শিক্ষার্থীদের 41: বাফার ঘোষিত হয় লুপ ভিতরে. 995 00:49:01,885 --> 00:49:03,670 >> JASON HIRSCHHORN: তাই আপনি যদি মনে করেন বাফার শূন্য নির্ধারণ করা হবে. 996 00:49:03,670 --> 00:49:05,850 কেন নাল নির্ধারণ করা বাফার করবে? 997 00:49:05,850 --> 00:49:10,420 >> শিক্ষার্থীদের 40: যখন আপনি কারণ fread, আপনি রাখতে চেষ্টা করছেন 998 00:49:10,420 --> 00:49:13,528 বাফার মধ্যে কিছুই. 999 00:49:13,528 --> 00:49:13,980 >> JASON HIRSCHHORN: ঠিক আছে. 1000 00:49:13,980 --> 00:49:15,550 সুতরাং আপনি fread চিন্তা করছি - 1001 00:49:15,550 --> 00:49:19,000 আমরা শেষ পৌঁছেছেন যখন ফাইল, কি fread করতে যাচ্ছে? 1002 00:49:19,000 --> 00:49:21,230 আমি যে প্রশ্ন মনে করি আমরা চিন্তা করা আছে. 1003 00:49:21,230 --> 00:49:21,960 Fread কী কাজ করে? 1004 00:49:21,960 --> 00:49:25,640 এটি বাফারের মধ্যে শূন্য করা, বা না এটা অন্য কিছু না করে? 1005 00:49:25,640 --> 00:49:27,510 আমরা কিভাবে এটা আছে কি চিন্তা করতে পারেন? 1006 00:49:27,510 --> 00:49:28,190 >> শিক্ষার্থীদের 42: ম্যান. 1007 00:49:28,190 --> 00:49:28,810 >> JASON HIRSCHHORN: ম্যান. 1008 00:49:28,810 --> 00:49:32,280 সুতরাং আসুন এখানে উপর চেহারা. 1009 00:49:32,280 --> 00:49:34,000 মূল্য ফিরুন. 1010 00:49:34,000 --> 00:49:39,620 সাফল্য, fread অন এবং ফিরে fwrite পড়া বা লেখা আইটেম সংখ্যা. 1011 00:49:39,620 --> 00:49:43,700 এই সংখ্যা বাইট সংখ্যা সমান সাইজ 1 শুধুমাত্র যখন স্থানান্তরিত. 1012 00:49:43,700 --> 00:49:47,780 একটি ত্রুটি দেখা দেয়, অথবা শেষ হলে ফাইল উপনিত, ফিরতি মূল্য একটি হল 1013 00:49:47,780 --> 00:49:51,490 সংক্ষিপ্ত আইটেমটি গণনা বা 0. 1014 00:49:51,490 --> 00:49:57,860 >> সুতরাং আমাদের উদ্দেশ্যে, যদি fread ছুঁয়েছে ফাইলের শেষে, এবং থেকে সার্চ 1015 00:49:57,860 --> 00:50:02,100 ফাইলের শেষে, বাকি কিছুই নেই পড়া, কি এটি ফিরে যাচ্ছে? 1016 00:50:02,100 --> 00:50:03,290 >> শিক্ষার্থীদের 43: জিরো? 1017 00:50:03,290 --> 00:50:04,540 >> JASON HIRSCHHORN: কি? 1018 00:50:04,540 --> 00:50:05,300 >> শিক্ষার্থীদের 43: জিরো? 1019 00:50:05,300 --> 00:50:05,690 >> JASON HIRSCHHORN: জিরো. 1020 00:50:05,690 --> 00:50:06,940 এটি শূন্য ফিরে যাচ্ছে. 1021 00:50:06,940 --> 00:50:09,360 1022 00:50:09,360 --> 00:50:13,010 তাই আমরা যদি আমরা করেছি যে fread, জানি ফাইলের শেষে পৌঁছেছেন, যাচ্ছে 1023 00:50:13,010 --> 00:50:13,690 শূন্য ফিরে যাও. 1024 00:50:13,690 --> 00:50:17,460 কিভাবে আমরা আমাদের সুবিধাজনক যে ব্যবহার করতে পারেন? 1025 00:50:17,460 --> 00:50:21,733 >> AVI: আপনি বাইরে একটি ভেরিয়েবল ডিক্লেয়ার করতে পারেন চেক বলা লুপ. 1026 00:50:21,733 --> 00:50:27,040 চেক সমান হলে - 1027 00:50:27,040 --> 00:50:28,190 এখন জন্য - এক. 1028 00:50:28,190 --> 00:50:28,920 >> JASON HIRSCHHORN: ঠিক আছে. 1029 00:50:28,920 --> 00:50:38,050 >> AVI: এবং তারপর আপনি একটি যদি লাগাতে পারেন ডান fread বলছে পরে বিবৃতি যদি 1030 00:50:38,050 --> 00:50:42,600 fread শূন্য সমান - 1031 00:50:42,600 --> 00:50:43,850 কোন. 1032 00:50:43,850 --> 00:50:46,002 1033 00:50:46,002 --> 00:50:47,252 >> JASON HIRSCHHORN: কে Avi সাহায্য করতে পারেন? 1034 00:50:47,252 --> 00:50:49,690 1035 00:50:49,690 --> 00:50:52,410 >> AVI: মূল্য কি fread দ্বারা ফিরে? 1036 00:50:52,410 --> 00:50:54,060 >> JASON HIRSCHHORN: আমরা শুধু যে উপর গিয়েছিলাম. 1037 00:50:54,060 --> 00:50:55,450 >> AVI: আপনি এটা কিভাবে উপস্থাপন করব? 1038 00:50:55,450 --> 00:50:57,190 >> JASON HIRSCHHORN: তাই এটি ফেরৎ - যাক এর এখানে সন্ধান - এটি একটি ফেরৎ 1039 00:50:57,190 --> 00:50:59,340 মূলত যা size_t গণনা, একটি পূর্ণসংখ্যা. 1040 00:50:59,340 --> 00:51:02,240 1041 00:51:02,240 --> 00:51:03,410 সুতরাং এটি একটি পূর্ণসংখ্যা ফেরৎ. 1042 00:51:03,410 --> 00:51:05,160 এবং আমাদের ক্ষেত্রে, এটা করবে 1 অথবা 0 ফিরে - 1043 00:51:05,160 --> 00:51:08,760 1 এটা এক জিনিস পড়তে হলে - এক বাইট, এবং 0 আমরা শেষ পৌঁছেছেন করেছি. 1044 00:51:08,760 --> 00:51:13,560 1045 00:51:13,560 --> 00:51:16,450 সুতরাং fread যদি - 1046 00:51:16,450 --> 00:51:16,855 হাঁ? 1047 00:51:16,855 --> 00:51:20,330 >> শিক্ষার্থীদের 45: আপনি শুধু পূর্ণ লাগাতে না পারি মধ্যে fread (বাফার, 1, 1, SRC) 1048 00:51:20,330 --> 00:51:21,660 লুপ যখন? 1049 00:51:21,660 --> 00:51:26,510 >> JASON HIRSCHHORN: তাহলে আপনি উত্থাপন করা সেখানে মধ্যে এই কাজ? 1050 00:51:26,510 --> 00:51:27,600 >> [Interposing ভয়েসেস] 1051 00:51:27,600 --> 00:51:29,520 >> JASON HIRSCHHORN: উপর রাখা. 1052 00:51:29,520 --> 00:51:30,885 সুতরাং আমরা যে ridding করছি. 1053 00:51:30,885 --> 00:51:33,300 সুতরাং আপনি নির্বাণ প্রস্তাব করছি fread সেখানে মধ্যে? 1054 00:51:33,300 --> 00:51:35,457 কি আমরা সরানো উচিত আপনি তা করতে চান? 1055 00:51:35,457 --> 00:51:36,740 >> শিক্ষার্থীদের 45: বাইরে বাফার. 1056 00:51:36,740 --> 00:51:38,110 >> JASON HIRSCHHORN: আমরা উচিত এছাড়াও এখানে এই আউট সরাতে. 1057 00:51:38,110 --> 00:51:41,700 >> শিক্ষার্থীদের 45: কিন্তু যে ক্রমাগত এগিয়ে সরিয়ে নেয়া? 1058 00:51:41,700 --> 00:51:42,950 >> [Interposing ভয়েসেস] 1059 00:51:42,950 --> 00:51:46,540 1060 00:51:46,540 --> 00:51:47,470 >> JASON HIRSCHHORN: ঠিক আছে. 1061 00:51:47,470 --> 00:51:50,570 তাই এই Okshar প্রস্তাবিত হয়. 1062 00:51:50,570 --> 00:51:51,930 আমরা আমাদের বাফার তৈরি. 1063 00:51:51,930 --> 00:51:57,020 আমরা যখন fread, তাহলে আমরা fwrite. 1064 00:51:57,020 --> 00:51:59,760 এই উপর থটস? 1065 00:51:59,760 --> 00:52:04,050 >> শিক্ষার্থীদের 46: আমার শুধু প্রশ্ন, কি হয় এটি আসলে কমান্ড fread চালানো? 1066 00:52:04,050 --> 00:52:06,175 >> JASON HIRSCHHORN: গ্রেট প্রশ্ন. 1067 00:52:06,175 --> 00:52:11,050 আপনি যদি একটি ফাংশন কল নির্বাণ হয়ে গেলে একটি শর্ত ভেতরে, যে আছে 1068 00:52:11,050 --> 00:52:12,300 ফাংশন কল চালানো? 1069 00:52:12,300 --> 00:52:15,760 1070 00:52:15,760 --> 00:52:17,770 আমরা আগে এই উদাহরণ দেখা করেছি. 1071 00:52:17,770 --> 00:52:24,900 1072 00:52:24,900 --> 00:52:25,660 রাইট? 1073 00:52:25,660 --> 00:52:26,125 >> শিক্ষার্থীদের 46: ঠিক আছে. 1074 00:52:26,125 --> 00:52:26,590 হ্যাঁ. 1075 00:52:26,590 --> 00:52:30,140 সুতরাং এটি চালানো আছে. 1076 00:52:30,140 --> 00:52:31,790 >> JASON HIRSCHHORN: আমরা জিনিস দেখা করেছি যে আগে, আমরা যেখানে মত 1077 00:52:31,790 --> 00:52:33,550 একটি শর্ত ভেতরে ফাংশন কল. 1078 00:52:33,550 --> 00:52:35,540 যে ফাংশন কল চালানো আছে? 1079 00:52:35,540 --> 00:52:36,350 হ্যাঁ. 1080 00:52:36,350 --> 00:52:37,410 তাই উত্তর হবে হ্যাঁ. 1081 00:52:37,410 --> 00:52:41,010 এই ফাংশনটি কল চালানো হবে. 1082 00:52:41,010 --> 00:52:42,418 কিন্তু আবার, এটা আমরা চাই কি? 1083 00:52:42,418 --> 00:52:49,250 1084 00:52:49,250 --> 00:52:52,204 >> আমরা চিন্তা করতে পারে একটি উপায় কি এটা আমরা চাই কি আউট যদি? 1085 00:52:52,204 --> 00:52:53,470 >> একাধিক ছাত্র: এটা চালান? 1086 00:52:53,470 --> 00:52:54,460 >> JASON HIRSCHHORN: আমরা এটি চালানো হবে. 1087 00:52:54,460 --> 00:52:57,500 আমরা তা করতে কিন্তু আগে, আমরা পারা এই মাধ্যমে কারণ. 1088 00:52:57,500 --> 00:52:57,920 যদি - 1089 00:52:57,920 --> 00:53:01,920 আমরা এক বাইট আছে বলে আমাদের আমরা এখানে পাবেন, ফাইল, 1090 00:53:01,920 --> 00:53:02,660 আমরা এই কোড পাবেন. 1091 00:53:02,660 --> 00:53:03,620 এই চালানো হবে. 1092 00:53:03,620 --> 00:53:07,780 fread এক বাইট এবং ফিরে হবে এটি বাফারের মধ্যে সঞ্চয়. 1093 00:53:07,780 --> 00:53:11,290 এবং এই, 1 থেকে নির্ণয় করা হবে ঠিক আছে, পরে তিনি 1 প্রদান. 1094 00:53:11,290 --> 00:53:12,640 >> সুতরাং যখন 1. 1095 00:53:12,640 --> 00:53:15,325 যে ভিতরে কোড মানে যখন লুপ চালানো হবে? 1096 00:53:15,325 --> 00:53:15,453 >> শিক্ষার্থীদের 47: হ্যাঁ. 1097 00:53:15,453 --> 00:53:16,040 এটা সত্য. 1098 00:53:16,040 --> 00:53:16,290 >> JASON HIRSCHHORN: হ্যাঁ. 1099 00:53:16,290 --> 00:53:17,490 1 সত্য. 1100 00:53:17,490 --> 00:53:18,240 এটা 0 না. 1101 00:53:18,240 --> 00:53:20,360 তাই এখানে ভিতরে কোড চালানো হবে. 1102 00:53:20,360 --> 00:53:22,300 সুতরাং আমরা যে লিখতে হবে. 1103 00:53:22,300 --> 00:53:25,340 আমরা এই ফিরে সরানো করব লাইন আবার. 1104 00:53:25,340 --> 00:53:26,850 এখন আমরা আছে - 1105 00:53:26,850 --> 00:53:28,550 আমরা আমাদের ফাইলের শেষে করছি. 1106 00:53:28,550 --> 00:53:30,980 আমরা আমাদের ফাইলের শেষে থেকে পড়া, আমরা কেবল এটা এক বাইট ছিল কারণ. 1107 00:53:30,980 --> 00:53:34,270 >> Fread 0, দোকানে ফেরৎ বাফার কিছু. 1108 00:53:34,270 --> 00:53:35,890 আমি ভাল জানি না কি এটি বাফারের মধ্যে সঞ্চয় করে. 1109 00:53:35,890 --> 00:53:38,380 আমরা সম্ভবত সন্ধান পারে এটা আছে তা দেখতে. 1110 00:53:38,380 --> 00:53:40,130 আমি ভাল জানি না. 1111 00:53:40,130 --> 00:53:43,090 আমরা কি বজায় রাখে যারা, জানি না এটি বাফারের মধ্যে সঞ্চয় করে? 1112 00:53:43,090 --> 00:53:44,010 কিন্তু এটা 0 ফিরে না. 1113 00:53:44,010 --> 00:53:45,440 এবং 0 নির্বাহ করার সময় হবে? 1114 00:53:45,440 --> 00:53:49,950 1115 00:53:49,950 --> 00:53:51,180 >> 0 চালানো না হবে. 1116 00:53:51,180 --> 00:53:54,030 আমি তখন আমরা এখানে নিচে নামাও করব. 1117 00:53:54,030 --> 00:53:58,870 সুতরাং আসুন হাতের একটি শো করতে দেওয়া এই যদি আমরা চালানো, বা আমরা যদি উচিত কোড হল 1118 00:53:58,870 --> 00:54:00,140 প্রথম পরিবর্তন করা উচিৎ. 1119 00:54:00,140 --> 00:54:02,180 আপনি কি মনে যদি তাই - আপনি ভোট দিতে হবে. 1120 00:54:02,180 --> 00:54:06,885 আপনি আমরা এই কোড রান করা উচিত যদি মনে করেন যেমন আছে, আপনার হাত বাড়াতে করুন. 1121 00:54:06,885 --> 00:54:12,440 1122 00:54:12,440 --> 00:54:13,400 >> ঠিক আছে. 1123 00:54:13,400 --> 00:54:14,315 এক আছে - 1124 00:54:14,315 --> 00:54:17,260 আপনি একটি প্রশ্ন, উদ্বেগ আছে? 1125 00:54:17,260 --> 00:54:18,080 হ্যাঁ. 1126 00:54:18,080 --> 00:54:21,240 >> শিক্ষার্থীদের 48: আমরা বাফার সরানো পর লুপ বাইরে, আমরা কি 1127 00:54:21,240 --> 00:54:22,670 এটা malloc আছে? 1128 00:54:22,670 --> 00:54:23,310 >> JASON HIRSCHHORN: গ্রেট প্রশ্ন. 1129 00:54:23,310 --> 00:54:26,670 আমরা বাইরে বাফার সরানো পর লুপ, আমরা এটি malloc আছে? 1130 00:54:26,670 --> 00:54:28,400 এটি একটি সুযোগ প্রশ্ন. 1131 00:54:28,400 --> 00:54:32,130 আমরা বাইরে বাফার আরম্ভ হলে এই লুপ, এটি উপস্থিত হবে 1132 00:54:32,130 --> 00:54:33,534 লুপ এর ভিতরে? 1133 00:54:33,534 --> 00:54:35,230 >> একাধিক ছাত্র: হ্যাঁ. 1134 00:54:35,230 --> 00:54:35,580 >> JASON HIRSCHHORN: হ্যাঁ. 1135 00:54:35,580 --> 00:54:40,100 তার সুযোগ, লুপ এর ভিতর জুড়ে এবং সত্যিই,, কিছু ভিতর এটি নীচের 1136 00:54:40,100 --> 00:54:42,460 সহ এই কোড, এর এখানে ভিতরে জিনিস. 1137 00:54:42,460 --> 00:54:43,930 সুতরাং আমরা এটা malloc করতে হবে না. 1138 00:54:43,930 --> 00:54:47,766 এটি একটি স্থানীয় পরিবর্তনশীল, এবং তার সুযোগ এখনও লুপ অন্তর্ভুক্ত. 1139 00:54:47,766 --> 00:54:49,540 >> শিক্ষার্থীদের 49: আমরা এটি মুক্ত করা প্রয়োজন? 1140 00:54:49,540 --> 00:54:51,770 >> JASON HIRSCHHORN: আমরা কি বিনামূল্যে বাফার প্রয়োজন? 1141 00:54:51,770 --> 00:54:53,860 >> শিক্ষার্থীদের 49: হ্যাঁ, আমরা malloc না হলে. 1142 00:54:53,860 --> 00:54:55,750 >> JASON HIRSCHHORN: আমরা কি বিনামূল্যে বাফার প্রয়োজন? 1143 00:54:55,750 --> 00:54:57,160 আমরা না করতে. 1144 00:54:57,160 --> 00:55:01,280 আবার, এটি একটি স্থানীয় পরিবর্তনশীল, তাই আমরা এটি মুক্ত করার প্রয়োজন হবে না. 1145 00:55:01,280 --> 00:55:02,170 ঠিক আছে. 1146 00:55:02,170 --> 00:55:03,480 এর কি দেখতে দিন. 1147 00:55:03,480 --> 00:55:17,290 1148 00:55:17,290 --> 00:55:18,220 সুতরাং uninitialized হয়. 1149 00:55:18,220 --> 00:55:20,830 এটা কি কিছু ছিল মার্কাস আগে প্রস্তাবিত. 1150 00:55:20,830 --> 00:55:25,340 সুতরাং আমরা যে ত্রুটি, পরিবর্তনশীল বাফার আছে এখানে যখন ব্যবহৃত uninitialized হয়. 1151 00:55:25,340 --> 00:55:26,590 >> আমরা এই কিভাবে ঠিক করতে পারবো? 1152 00:55:26,590 --> 00:55:29,460 1153 00:55:29,460 --> 00:55:30,960 >> শিক্ষার্থীদের 50: এটা malloc? 1154 00:55:30,960 --> 00:55:31,770 >> শিক্ষার্থীদের 51: শূন্য সাইটে সমান? 1155 00:55:31,770 --> 00:55:33,000 >> শিক্ষার্থীদের 52: বাফার শূন্য সমান বলুন. 1156 00:55:33,000 --> 00:55:34,250 >> JASON HIRSCHHORN: ঠিক আছে. 1157 00:55:34,250 --> 00:55:40,040 1158 00:55:40,040 --> 00:55:40,770 ভাল মনে হচ্ছে. 1159 00:55:40,770 --> 00:55:42,410 আমরা এখন এটা আছে. 1160 00:55:42,410 --> 00:55:45,630 এর অনুলিপি করা চেষ্টা কিছু তৈরি করা যাক. 1161 00:55:45,630 --> 00:56:08,990 1162 00:56:08,990 --> 00:56:10,490 সুতরাং আমরা আমাদের টেক্সট ফাইল আছে. 1163 00:56:10,490 --> 00:56:11,740 কিভাবে আমরা এই প্রোগ্রাম রান করতে পারেন? 1164 00:56:11,740 --> 00:56:14,140 1165 00:56:14,140 --> 00:56:15,472 হ্যাঁ. 1166 00:56:15,472 --> 00:56:22,230 >> শিক্ষার্থীদের 53: আপনি বিন্দু কি করতে পারেন CP, test.txt কাট. 1167 00:56:22,230 --> 00:56:25,140 এবং তারপর আপনি অন্য ফাইলের নাম পারেন তা সংরক্ষণ করবে যা. 1168 00:56:25,140 --> 00:56:25,510 >> JASON HIRSCHHORN: ঠিক আছে. 1169 00:56:25,510 --> 00:56:27,380 আমরা এটা out.txt ডাকবো. 1170 00:56:27,380 --> 00:56:28,630 কুল? 1171 00:56:28,630 --> 00:56:31,700 1172 00:56:31,700 --> 00:56:34,320 Seg ফল্ট. 1173 00:56:34,320 --> 00:56:35,570 Seg ফল্ট নেভিগেশন থটস? 1174 00:56:35,570 --> 00:56:40,900 1175 00:56:40,900 --> 00:56:41,390 এই মহান. 1176 00:56:41,390 --> 00:56:45,040 কিভাবে আমরা জানতে পারেন যেখানে seg দোষ কি? 1177 00:56:45,040 --> 00:56:45,680 কি? 1178 00:56:45,680 --> 00:56:45,990 >> শিক্ষার্থীদের 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 আমরা GDB ডট স্ল্যাশ লিখে GDB চালানো আমাদের প্রোগ্রামের নাম. 1182 00:56:55,300 --> 00:56:57,020 সেখানে কোন কমান্ড লাইন আর্গুমেন্ট. 1183 00:56:57,020 --> 00:56:59,570 আমরা একটি সেট চলুন প্রধান এ ব্রেকপয়েন্ট. 1184 00:56:59,570 --> 00:57:02,190 আমি GDB শুরু করতে চান তাহলে, আমি কি করব? 1185 00:57:02,190 --> 00:57:02,730 >> শিক্ষার্থীদের 55: আর 1186 00:57:02,730 --> 00:57:08,910 >> তারপর আর কি: Jason HIRSCHHORN? 1187 00:57:08,910 --> 00:57:09,400 >> শিক্ষার্থীদের 55: আর্গুমেন্ট? 1188 00:57:09,400 --> 00:57:10,650 >> JASON HIRSCHHORN: তারপর কমান্ড লাইন আর্গুমেন্ট. 1189 00:57:10,650 --> 00:57:15,890 1190 00:57:15,890 --> 00:57:17,120 এর ভিতর দিয়ে হেটে যাক. 1191 00:57:17,120 --> 00:57:19,090 এন শুধু লাইন দ্বারা আমার লাইন গ্রহণ করা হয়. 1192 00:57:19,090 --> 00:57:21,450 আমি যেতে চলেছি যতক্ষণ আমি আমার seg ফল্ট পেতে. 1193 00:57:21,450 --> 00:57:22,700 আমার seg দোষ আছে. 1194 00:57:22,700 --> 00:57:24,960 1195 00:57:24,960 --> 00:57:27,875 Fread সৃষ্ট মত দেখে মনে হচ্ছে আমার seg ফল্ট. 1196 00:57:27,875 --> 00:57:30,570 1197 00:57:30,570 --> 00:57:32,770 আমি, fread আমার seg দোষ হত জানি যে কারণ 1198 00:57:32,770 --> 00:57:34,950 লাইন আমরা শুধু মৃত্যুদন্ড কার্যকর. 1199 00:57:34,950 --> 00:57:36,530 >> তখন ছিল শুধু যে যে লাইন ঘটছে - 1200 00:57:36,530 --> 00:57:37,520 দুটি জিনিস ঘটছে হয়. 1201 00:57:37,520 --> 00:57:40,610 Fread চালু ছিল, এবং তারপর আমরা ছিল কিছু যখন পরীক্ষা করছেন. 1202 00:57:40,610 --> 00:57:44,820 আমি বাজি ধরতে ইচ্ছুক যে যখন চেক আমার seg ফল্ট ঘটাচ্ছে না. 1203 00:57:44,820 --> 00:57:46,950 সম্ভবত, fread ছিল আমার seg ফল্ট ঘটাচ্ছে. 1204 00:57:46,950 --> 00:57:49,260 আমি এখানে কিছু, memcopy দেখুন. 1205 00:57:49,260 --> 00:57:50,500 >> স্মৃতি কপি. 1206 00:57:50,500 --> 00:57:53,820 থেকে মেমরি সরানোর মত শোনায় অন্য একটি অবস্থান. 1207 00:57:53,820 --> 00:57:56,890 ঘটতে পারে এমন কিছু মত শোনায় fread মধ্যে হয়ত, কিছু স্মৃতি 1208 00:57:56,890 --> 00:57:58,910 এখানে এখানে থেকে সরানোর. 1209 00:57:58,910 --> 00:58:01,740 1210 00:58:01,740 --> 00:58:03,860 এর আবার এই মাধ্যমে যাওয়া যাক. 1211 00:58:03,860 --> 00:58:06,900 আমি কিভাবে এটা শুরু করবেন এবং আবার এটি চালানো? 1212 00:58:06,900 --> 00:58:08,092 হ্যাঁ. 1213 00:58:08,092 --> 00:58:15,140 >> শিক্ষার্থীদের 56: আপনি কি করা প্রয়োজন বাফার আগে একটি ampersand? 1214 00:58:15,140 --> 00:58:17,800 >> JASON HIRSCHHORN: তাই আগে ampersand বাফার আমার ঠিকানা দিতে হবে 1215 00:58:17,800 --> 00:58:22,330 * একটি গৃহস্থালি যা বাফার,. 1216 00:58:22,330 --> 00:58:25,250 এর এই এক আরো সময় মাধ্যমে চালানো যাক. 1217 00:58:25,250 --> 00:58:28,248 আমি কিভাবে আরো এক সময় এটি মাধ্যমে চালানো হয়? 1218 00:58:28,248 --> 00:58:29,210 >> শিক্ষার্থীদের 57: Can আপনি শুধু আবার চালাতে টাইপ? 1219 00:58:29,210 --> 00:58:32,050 >> JASON HIRSCHHORN: শুধু আবার রান টাইপ করুন. 1220 00:58:32,050 --> 00:58:33,415 সুতরাং আমরা যাচ্ছেন না এই লাইন চালানো. 1221 00:58:33,415 --> 00:58:36,250 1222 00:58:36,250 --> 00:58:39,240 তাই বাফার একটি NULL পয়েন্টার হয়. 1223 00:58:39,240 --> 00:58:40,490 সঠিক? 1224 00:58:40,490 --> 00:58:45,870 1225 00:58:45,870 --> 00:58:47,060 এটি প্রতি নির্দেশ করা হয় - দেখুন. 1226 00:58:47,060 --> 00:58:48,500 আমরা যদি আমাদের - 1227 00:58:48,500 --> 00:58:50,430 এই দ্রুত ছবি আঁকা. 1228 00:58:50,430 --> 00:58:53,500 যদি সবাই দেখতে পারি আমি এখানে উপর লিখতে? 1229 00:58:53,500 --> 00:59:02,890 >> সুতরাং স্ট্যাকের মধ্যে, আমরা একটি স্থানীয় আছে পরিবর্তনশীল এবং এটি বাফার বলা হচ্ছে, এবং 1230 00:59:02,890 --> 00:59:08,230 এটি একটি গৃহস্থালি একটি পয়েন্টার এর. 1231 00:59:08,230 --> 00:59:10,325 কি ঠিকানা এই গৃহস্থালি হয়? 1232 00:59:10,325 --> 00:59:12,550 >> শিক্ষার্থীদের 58: 0x0. 1233 00:59:12,550 --> 00:59:13,400 >> JASON HIRSCHHORN: রাইট. 1234 00:59:13,400 --> 00:59:14,200 যে এই হয় কি. 1235 00:59:14,200 --> 00:59:17,600 এখানে সালে বাফার ভিতরে, 0x0 সংরক্ষিত হয়. 1236 00:59:17,600 --> 00:59:20,480 যে আমরা আছে কি - আমরা এই মুহূর্তে আছে সেটআপ. 1237 00:59:20,480 --> 00:59:27,540 তাই এই লাইন, fread, কিছু রাখে যেখানে উৎস থেকে? 1238 00:59:27,540 --> 00:59:30,560 এই বক্স বা এই বাক্সে? 1239 00:59:30,560 --> 00:59:31,060 যা বক্স? 1240 00:59:31,060 --> 00:59:33,290 বক্স বা ডান বাক্স বাম? 1241 00:59:33,290 --> 00:59:34,750 এই অধিকার বাক্স. 1242 00:59:34,750 --> 00:59:38,440 >> এটা পয়েন্টার অনুসরণ করে, এবং এখানে এটা বন্ধ রাখে. 1243 00:59:38,440 --> 00:59:42,620 আমরা এ চেষ্টা করুন এবং টাচ স্মৃতি যখন অবস্থান 0, আমরা কি পেতে পারি? 1244 00:59:42,620 --> 00:59:45,050 একটি সেগমেন্টেশন ফল্ট. 1245 00:59:45,050 --> 00:59:46,550 আমরা এই মুহূর্তে আছে ত্রুটি আছে. 1246 00:59:46,550 --> 00:59:46,970 হ্যাঁ. 1247 00:59:46,970 --> 00:59:48,410 >> শিক্ষার্থীদের 59: আপনি নেই তারা বাফার করা? 1248 00:59:48,410 --> 00:59:49,180 কোন বা? 1249 00:59:49,180 --> 00:59:50,050 Fread জন্য? 1250 00:59:50,050 --> 00:59:51,450 >> JASON HIRSCHHORN: তাই fread একটি পয়েন্টার লাগে. 1251 00:59:51,450 --> 00:59:54,920 1252 00:59:54,920 --> 00:59:55,900 সুতরাং এটি বাফারের মধ্যে প্রেরণ করা হয়. 1253 00:59:55,900 --> 00:59:58,980 এবং তারপর এটা পাবেন ডি রেফারেন্স কোথাও fread ভিতরে এটা. 1254 00:59:58,980 --> 01:00:00,700 কিন্তু আবার, আমরা দেখেছি, এটি একটি পয়েন্টার লাগে. 1255 01:00:00,700 --> 01:00:02,560 আমরা এটা তারা বাফার পাস করতে হবে না. 1256 01:00:02,560 --> 01:00:05,350 যে ক্ষণস্থায়ী হবে এটা এখানে যাই হোক না কেন. 1257 01:00:05,350 --> 01:00:07,980 এবং যে সম্ভবত আমাদের একটি ত্রুটি দেবে আমরা তা ডি উল্লেখ করছি কারণ. 1258 01:00:07,980 --> 01:00:08,150 >> রাইট? 1259 01:00:08,150 --> 01:00:10,690 আমরা এই পয়েন্টার-রেফারেন্স ডি করার সময়, যখন আমরা এই অবস্থান অ্যাক্সেস করতে চেষ্টা করুন, 1260 01:00:10,690 --> 01:00:13,140 আমরা একটি ত্রুটি পেয়ে থাকেন - আমাদের সেগমেন্টেশন ফল্ট. 1261 01:00:13,140 --> 01:00:15,800 তাই - 1262 01:00:15,800 --> 01:00:16,690 ওহো. 1263 01:00:16,690 --> 01:00:19,090 আমরা GDB আউট প্রস্থান করার জন্য চলুন. 1264 01:00:19,090 --> 01:00:20,160 আমাদের লাইন - 1265 01:00:20,160 --> 01:00:22,990 আমাদের সমস্যা - অধিকার এখানে এই লাইনে. 1266 01:00:22,990 --> 01:00:26,410 এবং এটা একটা সমস্যা, কারণ এই লাইনের. 1267 01:00:26,410 --> 01:00:31,780 >> কিভাবে আমরা একটি বক্স তৈরি করতে পারেন fread মধ্যে প্রবেশযোগ্য. 1268 01:00:31,780 --> 01:00:31,980 রাইট? 1269 01:00:31,980 --> 01:00:35,190 আমরা এক যে একটি বক্স তৈরি করা প্রয়োজন বাইট বড়, একটি গৃহস্থালি মাপ. 1270 01:00:35,190 --> 01:00:38,590 কিন্তু আমরা যে বক্স সুগম হতে হবে এই ফাংশন executes যখন. 1271 01:00:38,590 --> 01:00:39,390 তাই যেখানে - 1272 01:00:39,390 --> 01:00:39,640 হাঁ. 1273 01:00:39,640 --> 01:00:40,440 কোন ধারনা? 1274 01:00:40,440 --> 01:00:43,615 >> শিক্ষার্থীদের 60: শুধু হিসাবে এটি সেট কোন র্যান্ডম অক্ষর. 1275 01:00:43,615 --> 01:00:49,150 1276 01:00:49,150 --> 01:00:51,640 শুধু গৃহস্থালি বাফার সমান না চরিত্র. 1277 01:00:51,640 --> 01:00:53,795 এবং তারপর, আপনি সেখানে বাফার যখন - 1278 01:00:53,795 --> 01:00:54,110 >> JASON HIRSCHHORN: অপেক্ষা করুন. 1279 01:00:54,110 --> 01:00:55,110 চর বাফার? 1280 01:00:55,110 --> 01:00:55,880 তাই কোন তারকা? 1281 01:00:55,880 --> 01:00:56,390 >> শিক্ষার্থীদের 60: হ্যাঁ. 1282 01:00:56,390 --> 01:00:58,560 তারকা খুঁজে নিন. 1283 01:00:58,560 --> 01:01:00,690 একটি র্যান্ডম অক্ষর সমান. 1284 01:01:00,690 --> 01:01:01,460 >> JASON HIRSCHHORN: ঠিক আছে. 1285 01:01:01,460 --> 01:01:02,420 তাই আমাকে এক দিন. 1286 01:01:02,420 --> 01:01:03,170 >> শিক্ষার্থীদের 60: ভালো লেগেছে একটি বা কিছু. 1287 01:01:03,170 --> 01:01:06,160 এবং তারপর আপনি বাফার আছে সেখানে, আপনি একটি ব্যবহার - 1288 01:01:06,160 --> 01:01:06,420 >> শিক্ষার্থীদের 61: রাশি? 1289 01:01:06,420 --> 01:01:07,650 ওহ না, ampersand. 1290 01:01:07,650 --> 01:01:09,000 >> শিক্ষার্থীদের 60: ampersand ব্যবহার করুন. 1291 01:01:09,000 --> 01:01:09,470 >> JASON HIRSCHHORN: ঠিক আছে. 1292 01:01:09,470 --> 01:01:11,320 এবং কি fwrite এ সম্পর্কে কি? 1293 01:01:11,320 --> 01:01:14,150 >> শিক্ষার্থীদের 60: আবার ampersand ব্যবহার করুন. 1294 01:01:14,150 --> 01:01:14,320 >> JASON HIRSCHHORN: ঠিক আছে. 1295 01:01:14,320 --> 01:01:20,970 সুতরাং আপনার ধারণা, হয় আমরা একটি গৃহস্থালি তৈরি এবং তারপর এটি কিছু করা, এবং 1296 01:01:20,970 --> 01:01:22,612 যে গৃহস্থালি লিখতে. 1297 01:01:22,612 --> 01:01:23,760 >> শিক্ষার্থীদের 60: হ্যাঁ. 1298 01:01:23,760 --> 01:01:25,916 >> JASON HIRSCHHORN: কি মানুষ মনে হয়? 1299 01:01:25,916 --> 01:01:27,770 >> শিক্ষার্থীদের 62: এটা সংবর্ত এর. 1300 01:01:27,770 --> 01:01:28,460 >> JASON HIRSCHHORN: ঠিক আছে. 1301 01:01:28,460 --> 01:01:29,760 এর এটি আঁকা যাক. 1302 01:01:29,760 --> 01:01:35,720 তাই এই সময়, আমি এই আঁকতে চলেছি আমরা তাহলে এখানে স্ট্যাক লাল, এবং 1303 01:01:35,720 --> 01:01:36,410 থাকবে - 1304 01:01:36,410 --> 01:01:36,822 বিস্ময়! 1305 01:01:36,822 --> 01:01:38,060 দুঃখিত. 1306 01:01:38,060 --> 01:01:45,930 তাই এই সময় আমরা কিছু বলা আছে বাফার, এবং এটি স্ট্যাক এর. 1307 01:01:45,930 --> 01:01:48,430 সঠিক? 1308 01:01:48,430 --> 01:01:51,520 এবং আমরা প্রাথমিকভাবে, এটি একটি মধ্যে সংরক্ষণ করছেন. 1309 01:01:51,520 --> 01:01:53,830 >> তারপর আমরা fread আমাদের কল আছে. 1310 01:01:53,830 --> 01:02:01,300 কি fread তা থেকে একটি বাইট নেয় হয় না আমাদের ফাইল এবং কোথাও এটা বন্ধ রাখে. 1311 01:02:01,300 --> 01:02:04,570 এটি যাই হোক না কেন এটা বন্ধ রাখে ব্যাপার হল এর প্রতি নির্দেশ করে. 1312 01:02:04,570 --> 01:02:09,130 ভাল, আমরা এই ঠিকানা ছিল আগে - 1313 01:02:09,130 --> 01:02:10,250 0x0. 1314 01:02:10,250 --> 01:02:13,349 এখন আমরা কি ঠিকানা আছে? 1315 01:02:13,349 --> 01:02:14,650 >> শিক্ষার্থীদের 63: যাই হোক না কেন ঠিকানা বাফার হয়. 1316 01:02:14,650 --> 01:02:15,970 >> JASON HIRSCHHORN: যাই হোক না কেন ঠিকানা বাফার হয়. 1317 01:02:15,970 --> 01:02:22,370 এটা সম্ভবত হতে যাচ্ছে যে ভালো কিছু. 1318 01:02:22,370 --> 01:02:26,950 সম্ভবত একটি বি দিয়ে শুরু করতে যাচ্ছে এবং তারপর একটি ফল, এবং ছয় অন্যান্য আছে 1319 01:02:26,950 --> 01:02:27,970 হেক্সাডেসিমেল সংখ্যা. 1320 01:02:27,970 --> 01:02:28,480 কোন ব্যাপার না. 1321 01:02:28,480 --> 01:02:29,470 কিছু ঠিকানা. 1322 01:02:29,470 --> 01:02:31,410 এবং আমরা এখনো সদস্য না যে ঠিকানা পার করছি 1323 01:02:31,410 --> 01:02:34,790 >> এবং আমরা আমাদের এক করা চলুন যে ঠিকানায় বাইট জিনিস. 1324 01:02:34,790 --> 01:02:38,470 সুতরাং আমরা আমাদের এক করা চলুন বাইট জিনিস এখানে ভিতরে. 1325 01:02:38,470 --> 01:02:40,800 এবং তারপর আমরা থেকে লিখতে যাচ্ছেন ভিতরে এখানে কখনও কি. 1326 01:02:40,800 --> 01:02:43,425 1327 01:02:43,425 --> 01:02:45,380 কেহ কোন প্রশ্ন আছে যে সম্পর্কে কি? 1328 01:02:45,380 --> 01:02:50,990 1329 01:02:50,990 --> 01:02:54,690 কে এই কোড কাজ করবে মনে করে? 1330 01:02:54,690 --> 01:02:56,020 >> আপনি কি মনে যদি আপনার হাত বাড়াতে এই কোড কাজ করবে. 1331 01:02:56,020 --> 01:02:57,270 আপনি একটি ভঙ্গি নিতে. 1332 01:02:57,270 --> 01:03:00,670 1333 01:03:00,670 --> 01:03:02,500 এবং যারা এই কোড কাজ করবে না মনে করে? 1334 01:03:02,500 --> 01:03:04,610 আপনার হাত বাড়াতে. 1335 01:03:04,610 --> 01:03:06,750 অন্য সকলে হওয়া উচিত তাদের হাত তোলা. 1336 01:03:06,750 --> 01:03:07,670 ঠিক আছে. 1337 01:03:07,670 --> 01:03:09,390 মাইকেল, আপনি যেখানে দাড়িয়ে আছে? 1338 01:03:09,390 --> 01:03:10,680 >> মাইকেল: আমি সিদ্ধান্ত নিতে পারে না. 1339 01:03:10,680 --> 01:03:12,070 কাইন্ড মাঝখানে. 1340 01:03:12,070 --> 01:03:12,736 >> JASON HIRSCHHORN: আপনি আছেন মাঝখানে. 1341 01:03:12,736 --> 01:03:13,092 একটি বাছাই করুন. 1342 01:03:13,092 --> 01:03:14,400 >> মাইকেল: আমি বিশ্বাস করতে হবে এবং এটি কাজ করবে বলে. 1343 01:03:14,400 --> 01:03:14,660 >> JASON HIRSCHHORN: ঠিক আছে. 1344 01:03:14,660 --> 01:03:16,047 আপনি বিশ্বাস আছে এবং এটি কাজ করে বলবো? 1345 01:03:16,047 --> 01:03:26,490 1346 01:03:26,490 --> 01:03:27,020 কি হয়েছিল? 1347 01:03:27,020 --> 01:03:28,270 >> [Interposing ভয়েসেস] 1348 01:03:28,270 --> 01:03:35,170 1349 01:03:35,170 --> 01:03:35,950 >> JASON HIRSCHHORN: না seg ফল্ট. 1350 01:03:35,950 --> 01:03:40,320 কিভাবে আমরা দেখতে পরীক্ষা করতে পারবেন যদি দুটি জিনিস সমান? 1351 01:03:40,320 --> 01:03:42,060 দুই ফাইল সমান. 1352 01:03:42,060 --> 01:03:43,300 >> শিক্ষার্থীদের 64: পার্থক্য খুঁজুন. 1353 01:03:43,300 --> 01:03:45,490 >> JASON HIRSCHHORN: পার্থক্য খুঁজুন. 1354 01:03:45,490 --> 01:03:51,630 মধ্যে পার্থক্য জন্য পার্থক্য খুঁজুন চেক এটি ফেরৎ দুটি ফাইল, এবং, যদি 1355 01:03:51,630 --> 01:03:52,890 কিছুই, তারা অভিন্ন করছি. 1356 01:03:52,890 --> 01:03:59,030 আমরা খুলুন এবং, যদি আমরা আমাদের ফাইল পেতে. 1357 01:03:59,030 --> 01:04:00,490 যাতে এর সঠিক সমাধান ছিল. 1358 01:04:00,490 --> 01:04:01,780 এর তা আরো এক সময় ফিরে তাকান. 1359 01:04:01,780 --> 01:04:04,080 আমরা আসলে এমন না এটি আরম্ভ করা প্রয়োজন. 1360 01:04:04,080 --> 01:04:05,520 >> এটা সম্ভবত একটু দেখাবে আপনাকে করা না ক্লিনার 1361 01:04:05,520 --> 01:04:07,680 সেখানে র্যান্ডম কিছু. 1362 01:04:07,680 --> 01:04:13,070 বিন্দু হচ্ছে, আপনি তৈরি করতে প্রয়োজন থেকে কিছু জমা করার কিছু স্থান 1363 01:04:13,070 --> 01:04:15,530 fread এবং কিছু গ্রহণ fwrite আউট. 1364 01:04:15,530 --> 01:04:18,400 এবং যে জিনিস ছিল একটি স্থানীয় নয়তো হতে স্ট্যাক পরিবর্তনশীল - আপনি 1365 01:04:18,400 --> 01:04:19,890 কিছু স্থান malloc'd করেছি পারে. 1366 01:04:19,890 --> 01:04:23,030 >> সুতরাং আমরা আসলে হতে পারে লিখিত এখানে malloc, এবং 1367 01:04:23,030 --> 01:04:25,420 যে কাজ করে. 1368 01:04:25,420 --> 01:04:28,660 এবং তারপর আমরা সংরক্ষণ করা হত কোথাও গাদা আমাদের জিনিস. 1369 01:04:28,660 --> 01:04:31,940 কিন্তু এই, সম্ভবত, আসলে সবচেয়ে মার্জিত সমাধান. 1370 01:04:31,940 --> 01:04:34,490 শুধু স্ট্যাকের উপর কিছু স্থান তৈরি এই জিনিস যেতে জন্য. 1371 01:04:34,490 --> 01:04:37,690 1372 01:04:37,690 --> 01:04:38,990 >> আমি দুই অন্যান্য মন্তব্য আছে. 1373 01:04:38,990 --> 01:04:44,650 আপনি এই মোড় নিতে, এবং ছিল তারপর আমার মতামত, এই স্কোর পেতে 1374 01:04:44,650 --> 01:04:47,400 নিম্নরূপ হবে. 1375 01:04:47,400 --> 01:04:54,300 এই 1 এখানে, আমার জন্য, চেহারা ম্যাজিক সংখ্যার মত. 1376 01:04:54,300 --> 01:04:56,860 এই 1, fread নিরিখে জ্ঞান করে তোলে. 1377 01:04:56,860 --> 01:04:59,580 যে জিনিসের সংখ্যা বেশি পড়তে বা লিখতে. 1378 01:04:59,580 --> 01:05:03,740 >> কিন্তু ঠিক এই এক করা উচিত সম্ভবত অন্য কিছু করা. 1379 01:05:03,740 --> 01:05:05,180 তাই এক সমাধান কি? 1380 01:05:05,180 --> 01:05:06,545 >> শিক্ষার্থীদের 65: বাইট এর আয়তন. 1381 01:05:06,545 --> 01:05:10,100 1382 01:05:10,100 --> 01:05:11,080 >> JASON HIRSCHHORN: যে পছন্দ? 1383 01:05:11,080 --> 01:05:13,130 >> শিক্ষার্থীদের 65: গৃহস্থালি এর আয়তন. 1384 01:05:13,130 --> 01:05:13,820 >> JASON HIRSCHHORN: গৃহস্থালি এর আয়তন. 1385 01:05:13,820 --> 01:05:15,290 হাঁ, বাইট একটি টাইপ নয়. 1386 01:05:15,290 --> 01:05:16,320 গৃহস্থালির কাজ তাই মাপ. 1387 01:05:16,320 --> 01:05:30,270 আমরা শীর্ষে, হতে পারে আমাদের কোড, # যা সংজ্ঞায়িত. 1388 01:05:30,270 --> 01:05:33,410 কিছু বাইট এবং বলা এটি সত্যিই একটি গৃহস্থালি এর. 1389 01:05:33,410 --> 01:05:37,675 বাস্তবিক, একটি আরও উন্নত পদ্ধতির এই হয়েছে পারে - 1390 01:05:37,675 --> 01:05:39,391 uint. 1391 01:05:39,391 --> 01:05:40,780 কেহ যে কি জানেন? 1392 01:05:40,780 --> 01:05:44,388 1393 01:05:44,388 --> 01:05:44,840 >> দুঃখিত. 1394 01:05:44,840 --> 01:05:46,090 আমি পিছন দিকে তা আছে. 1395 01:05:46,090 --> 01:05:51,620 1396 01:05:51,620 --> 01:05:52,200 কোন, অপেক্ষা করুন. 1397 01:05:52,200 --> 01:05:53,450 এটা কোন ভাবেই যান না? 1398 01:05:53,450 --> 01:05:58,071 1399 01:05:58,071 --> 01:05:59,660 কেহ যে কি জানেন? 1400 01:05:59,660 --> 01:06:00,950 হ্যাঁ. 1401 01:06:00,950 --> 01:06:05,650 >> শিক্ষার্থীদের 67: প্রমিত সাহায্য অনুমিত সিস্টেম জিনিস জুড়ে যে 1402 01:06:05,650 --> 01:06:08,760 আছে - স্বাক্ষরবিহীন পূর্ণসংখ্যার মত 8 বাইট আছে? 1403 01:06:08,760 --> 01:06:11,785 >> JASON HIRSCHHORN: যে ঠিক অধিকার. 1404 01:06:11,785 --> 01:06:14,310 বিভিন্ন যন্ত্র উপর, একটি গৃহস্থালি মাপ - 1405 01:06:14,310 --> 01:06:15,180 না সাধারণত একটি গৃহস্থালি. 1406 01:06:15,180 --> 01:06:16,100 চর সাধারণত এক বাইট হয়. 1407 01:06:16,100 --> 01:06:19,590 কিন্তু অন্যান্য তথ্য ধরনের মাপ হয় একটি 32 বিট মেশিনের বিভিন্ন মাপ 1408 01:06:19,590 --> 01:06:21,370 একটি 64 বিট মেশিনের বনাম. 1409 01:06:21,370 --> 01:06:25,180 একটি uint8_t সবসময় 8 বিট - 1410 01:06:25,180 --> 01:06:27,210 সবসময় এক বাইট. 1411 01:06:27,210 --> 01:06:29,580 >> এবং আমি অন্তর্ভুক্ত করা প্রয়োজন যে মান int-হেডার ফাইল. 1412 01:06:29,580 --> 01:06:35,040 সুতরাং এখন, এটা সম্ভবত হত এই কোড লিখুন সবচেয়ে ভালো উপায়. 1413 01:06:35,040 --> 01:06:40,160 1414 01:06:40,160 --> 01:06:41,450 তাই আমি ম্যাজিক নম্বর পরিত্রাণ পেতে. 1415 01:06:41,450 --> 01:06:44,690 এবং আমি আরো একটি লজিক্যাল আছে বাফার জন্য টাইপ করুন. 1416 01:06:44,690 --> 01:06:49,450 এটি, এটি একটি বাইট হয়, কেবল একটি গৃহস্থালি নয় যা আমরা এটি বলে আশা করা হয়. 1417 01:06:49,450 --> 01:06:53,400 >> এবং এখানে, আমরা আসলে করেছি কিছুটা জোরালো হয়েছে. 1418 01:06:53,400 --> 01:06:55,190 আমরা যা একটি গৃহস্থালি এটা আহ্বান করছি না - 1419 01:06:55,190 --> 01:06:58,630 হয়তো, কে জানে - একটি ভিন্ন হতে পারে বিভিন্ন মেশিনে আকার. 1420 01:06:58,630 --> 01:07:02,025 আমরা আসলে এই ঠিক বলছে এক বাইট, সবসময়, কোন ব্যাপার কি. 1421 01:07:02,025 --> 01:07:05,810 আমরা এখানে তাকান এবং, যদি আমরা CP করা. 1422 01:07:05,810 --> 01:07:08,340 Uh-উহু. 1423 01:07:08,340 --> 01:07:09,590 কি হয়েছিল? 1424 01:07:09,590 --> 01:07:14,470 1425 01:07:14,470 --> 01:07:16,170 >> শিক্ষার্থীদের 68: এটা জাগ্রত হতে পারে. 1426 01:07:16,170 --> 01:07:17,880 >> JASON HIRSCHHORN: কি? 1427 01:07:17,880 --> 01:07:19,130 >> শিক্ষার্থীদের 69: এটা কি? 1428 01:07:19,130 --> 01:07:21,940 1429 01:07:21,940 --> 01:07:25,080 >> শিক্ষার্থীদের 70: আপনি না একটি ধরন হিসেবে সংজ্ঞায়িত. 1430 01:07:25,080 --> 01:07:28,684 >> শিক্ষার্থীদের 71: কিন্তু এটি করা উচিত মান সংজ্ঞায়িত করা. 1431 01:07:28,684 --> 01:07:29,934 >> শিক্ষার্থীদের 72: কি করছেন? 1432 01:07:29,934 --> 01:07:37,660 1433 01:07:37,660 --> 01:07:40,210 >> শিক্ষার্থীদের 73: define উচিত সব ক্যাপ করা? 1434 01:07:40,210 --> 01:07:41,370 >> JASON HIRSCHHORN: তাই এটা না # সংজ্ঞায়িত. 1435 01:07:41,370 --> 01:07:45,490 বাস্তবিক, এই ক্ষেত্রে, আমি আছি typedef ব্যবহার করা যাচ্ছে. 1436 01:07:45,490 --> 01:07:48,590 আমরা হিসাবে এটি ব্যবহার করছেন কারণ এক স্থানে একটি ধরন. 1437 01:07:48,590 --> 01:07:51,990 তাই এই ক্ষেত্রে, আমরা আসলে চান আমরা একটি নতুন ধরনের মুদ্রণ করছি মত typedef 1438 01:07:51,990 --> 01:07:54,490 বাইট, এবং এটি এই মূলত,, হয়. 1439 01:07:54,490 --> 01:07:56,590 এটি # define চেয়ে একটু আলাদা. 1440 01:07:56,590 --> 01:08:02,740 >> এবং এখন, আমাদের কোড ঠিকভাবে কাজ. 1441 01:08:02,740 --> 01:08:05,230 সুতরাং, আবার, # কিছু লাগে নির্ধারণ, সর্বত্র তা প্রতিস্থাপন 1442 01:08:05,230 --> 01:08:06,780 অন্যান্য জিনিস দিয়ে. 1443 01:08:06,780 --> 01:08:07,920 এটি শুধু একটি ম্যাক্রো এর - 1444 01:08:07,920 --> 01:08:09,420 সাঁটে লেখার ম্যাজিক নম্বর পরিত্রাণ পেতে. 1445 01:08:09,420 --> 01:08:11,360 কিন্তু এই ক্ষেত্রে, কারণ আমরা করছি একটি ধরন হিসাবে এটি ব্যবহার করে - 1446 01:08:11,360 --> 01:08:12,180 এখানে ডান - 1447 01:08:12,180 --> 01:08:19,880 যে কাজ করার জন্য, যাতে আমরা প্রয়োজন যাই হোক না কেন বাইট typedef করতে. 1448 01:08:19,880 --> 01:08:21,840 >> এবং আমরা অধিকার এখানে তা নির্ধারণ করছেন. 1449 01:08:21,840 --> 01:08:24,750 এটা আসলে এর একটি struct না শুধু একটি স্বাক্ষরবিহীন পূর্ণসংখ্যা. 1450 01:08:24,750 --> 01:08:27,680 এটা এক বাইট দীর্ঘ. 1451 01:08:27,680 --> 01:08:31,910 এই কোড অনলাইনে পাওয়া যাবে, এবং হবে আপনি সব অধিকার এখন এটা থাকা উচিত. 1452 01:08:31,910 --> 01:08:33,830 >> সুতরাং আমরা আছে - 1453 01:08:33,830 --> 01:08:34,250 নিখুঁত - 1454 01:08:34,250 --> 01:08:41,359 13 মিনিট যেতে বাকি বেশি সমস্যা 5 সেট. 1455 01:08:41,359 --> 01:08:44,270 আমি একসাথে copy.c ভিতর দিয়ে হেটে যেতে চাই এবং তারপর আমরা সংক্ষেপে কথা বলতে পারবেন 1456 01:08:44,270 --> 01:08:47,120 অন্যান্য অংশ সম্পর্কে সমস্যা সেট. 1457 01:08:47,120 --> 01:08:48,899 তাই আমাকে copy.c. থামা যাক 1458 01:08:48,899 --> 01:09:03,930 1459 01:09:03,930 --> 01:09:08,810 আর শীতল জিনিস আমরা আসলে করেছি, হয় ইতিমধ্যে এই কোড অনেক লেখা. 1460 01:09:08,810 --> 01:09:11,180 >> আমরা আক্ষরিক লিখেছিলেন কোড ঠিক আমি যখন এখানে এসেছিলেন আউট 1461 01:09:11,180 --> 01:09:13,120 আমার নিজের এই লেখা. 1462 01:09:13,120 --> 01:09:16,990 কিন্তু এই, copy.c হয় ফাউন্ডেশন ফর্ম প্রথম দুটি অংশ জন্য 1463 01:09:16,990 --> 01:09:22,340 whodunit.c, জন্য সমস্যা সেট যা আপনি লিখুন প্রয়োজন, এবং resize.c. 1464 01:09:22,340 --> 01:09:27,050 তৃতীয় এবং চূড়ান্ত যা Recover.c, সমস্যা সেট অংশ, নয় 1465 01:09:27,050 --> 01:09:29,529 এই ফাইলের বন্ধ করে. 1466 01:09:29,529 --> 01:09:32,200 >> আপনি যে ফাইলটি লিখতে প্রয়োজন চলুন, আমরা আপনাকে যে জন্য একটি টেমপ্লেট দিতে 1467 01:09:32,200 --> 01:09:34,620 ফাইল, কিন্তু এটা কিছুই হয়েছে copy.c. কি 1468 01:09:34,620 --> 01:09:38,675 কিন্তু copy.c জন্য ভিত্তি কারণ প্রথম দুটি অংশ, আমরা চলুন 1469 01:09:38,675 --> 01:09:42,000 এখন এটা ভিতর দিয়ে হেটে, তাই আপনার আছে এটি কী একটি ভাল ধারনা. 1470 01:09:42,000 --> 01:09:43,640 >> এবং মন্তব্য এটা কিছু দূরে দিতে. 1471 01:09:43,640 --> 01:09:45,120 আমরা ইতিমধ্যে এই কিছু লিখিত করেছি. 1472 01:09:45,120 --> 01:09:49,220 প্রথমত, আমরা এমনটা নিশ্চিত করছি আমরা তিন আর্গুমেন্ট পেতে. 1473 01:09:49,220 --> 01:09:50,560 এর পরে, আমরা ফাইলের নাম স্মরণ করছি. 1474 01:09:50,560 --> 01:09:52,960 সুতরাং আমরা এই পদক্ষেপ এড়ানো যখন আমরা আমাদের জিনিস কোডেড - 1475 01:09:52,960 --> 01:09:54,700 যখন আমাদের CP. 1476 01:09:54,700 --> 01:09:56,750 কিন্তু এখানে, তারা তৈরি করছেন একটু ক্লিনার এটি. 1477 01:09:56,750 --> 01:09:59,350 >> তারা নিশ্চিত করুন চেক করছি উভয় ফাইল, ভাল 1478 01:09:59,350 --> 01:10:00,450 তাদের খোলার ছাড়াও. 1479 01:10:00,450 --> 01:10:04,760 আমরা শুধু এখন এই সব কোড লিখেছিলেন, তাই আমি আছি এই কোড অধিষ্ঠান যাচ্ছে না. 1480 01:10:04,760 --> 01:10:09,670 পরবর্তী নির্দিষ্ট যে কিছু উপাদান হল আমরা ব্যবহার করছেন ফাইলের ধরন যা 1481 01:10:09,670 --> 01:10:12,240 বিটম্যাপ ফাইল হয়. 1482 01:10:12,240 --> 01:10:15,660 বিটম্যাপ ফাইল কিছু মেটাডেটা আছে এর সাথে জড়িত. 1483 01:10:15,660 --> 01:10:20,190 >> তাই বাইট প্রথম দম্পতি ফাইল সম্পর্কে বলতে. 1484 01:10:20,190 --> 01:10:23,460 তারা রং নয় যে ছবিতে পিক্সেল. 1485 01:10:23,460 --> 01:10:25,120 তারা ফাইল সম্পর্কে বলতে. 1486 01:10:25,120 --> 01:10:28,220 এবং যদি আপনি সমস্যা সেটকে পড়তে হলে, আপনি আরো অনেক তথ্য পাবেন 1487 01:10:28,220 --> 01:10:33,100 মেটাডাটা স্ট্রাকচার কি ধরনের বিটম্যাপ সঙ্গে অন্তর্ভুক্ত করা হয়. 1488 01:10:33,100 --> 01:10:39,350 >> আমরা এই প্রথম আছে কেন কিন্তু যে ঠিক এই কোড - এর সেট. 1489 01:10:39,350 --> 01:10:42,490 আমরা মেটাডাটা পড়া হয় - 1490 01:10:42,490 --> 01:10:45,800 মেটাডাটা দুই টুকরা - ফাইল হেডার এবং তথ্য হেডার. 1491 01:10:45,800 --> 01:10:51,030 এবং আমরা তা কিছু অংশ পরীক্ষা করা হয় নিশ্চিত এটি একটি সত্য বিটম্যাপ ফাইল করা 1492 01:10:51,030 --> 01:10:52,420 অব্যাহত আগে. 1493 01:10:52,420 --> 01:10:55,470 >> এবং আবার, এই বিবরণ আমরা এখন যান, দরকার নেই. 1494 01:10:55,470 --> 01:10:57,720 আপনি সমস্যা সেটকে পড়তে থাকে, আপনি এই বুঝতে হবে. 1495 01:10:57,720 --> 01:11:01,370 লং সংক্ষিপ্ত বিবরণ, এই মাত্র বলছে, এই একটি বিটম্যাপ ফাইল, এবং 1496 01:11:01,370 --> 01:11:02,810 যে নিশ্চিত. 1497 01:11:02,810 --> 01:11:05,180 >> এর পরে, আমরা যারা লেখার আউট ফাইলে. 1498 01:11:05,180 --> 01:11:05,660 আমরা এখানে দেখতে যে. 1499 01:11:05,660 --> 01:11:06,910 আমরা খুঁজে পয়েন্টার যাও লেখার. 1500 01:11:06,910 --> 01:11:09,260 1501 01:11:09,260 --> 01:11:11,320 এর পরে, আমরা প্যাডিং নির্ণয় করছি. 1502 01:11:11,320 --> 01:11:15,240 তাই আবার, হিসাবে বিশেষত্ব সাথে আছেন একটি বিটম্যাপ ফাইল, কিছু লাইন অন্তর্ভুক্ত 1503 01:11:15,240 --> 01:11:16,840 শেষে প্যাডিং. 1504 01:11:16,840 --> 01:11:19,000 এবং যদি আপনি সমস্যা সেটকে পড়তে হলে, আপনি প্যাডিং সম্পর্কে আরো জানতে পারবেন. 1505 01:11:19,000 --> 01:11:22,330 এই প্যাডিং খুঁজে সূত্র. 1506 01:11:22,330 --> 01:11:23,610 >> মনে রাখা গুরুত্বপূর্ণ - 1507 01:11:23,610 --> 01:11:29,720 আপনি একটি বিটম্যাপ মাপ পরিবর্তন করার সময় , প্যাডিং পরিবর্তন দায়ের. 1508 01:11:29,720 --> 01:11:31,970 আপনি একটি মাপ পরিবর্তন করা হলে , প্যাডিং পরিবর্তন দায়ের. 1509 01:11:31,970 --> 01:11:34,310 এটি হতে যাচ্ছে কখনো ছিল না 3 থেকে বড় - 1510 01:11:34,310 --> 01:11:36,510 এটা, 3 মাধ্যমে সমেত 0 হবেন. 1511 01:11:36,510 --> 01:11:38,930 কিন্তু আপনি মাপ পরিবর্তন করার সময় কিছু প্যাডিং পরিবর্তন. 1512 01:11:38,930 --> 01:11:47,100 >> আমি শুধুমাত্র যে সারিতে এক পিক্সেল আছে, আমি , প্যাডিং তিন বাইট প্রয়োজন কারণ 1513 01:11:47,100 --> 01:11:51,190 প্রতিটি সারির চার গুণিতক হতে হয়েছে একটি বিটম্যাপ ফাইলের মধ্যে দীর্ঘ বাইট. 1514 01:11:51,190 --> 01:11:56,120 কিন্তু আমি এটা দুবার যদি এক পিক্সেল থেকে যেতে দুই পিক্সেল করার জন্য, প্রতিটি যা, 1515 01:11:56,120 --> 01:11:59,510 এর কথা বলা যাক, একটি বাইট তারপর আমি প্রয়োজন হয় করা প্যাডিং দুই বাইট 1516 01:11:59,510 --> 01:12:00,970 চার থেকে যে সমান. 1517 01:12:00,970 --> 01:12:04,200 >> তাই আমি কিছু মাপ পরিবর্তন করা হলে, আমি পরিমাণ পরিবর্তন প্রয়োজন 1518 01:12:04,200 --> 01:12:06,551 প্যাডিং আমি আছে. 1519 01:12:06,551 --> 01:12:08,100 যে প্রত্যেকের জানার জন্য? 1520 01:12:08,100 --> 01:12:12,020 1521 01:12:12,020 --> 01:12:18,720 এর পরে, আমরা প্রতিটি সারির উপর বারবার, বা সব সারি মাধ্যমে. 1522 01:12:18,720 --> 01:12:21,400 এবং তারপর আমরা মাধ্যমে পুনরুক্তি প্রতিটি সারিতে প্রতিটি কলামের. 1523 01:12:21,400 --> 01:12:25,330 আমরা চাই এই বিটম্যাপ চিকিত্সা করছেন একটি গ্রিড, মত আমরা চিকিত্সা করেছি 1524 01:12:25,330 --> 01:12:26,490 15 সালে বোর্ড. 1525 01:12:26,490 --> 01:12:29,200 >> ভালো লেগেছে আমরা ইট চিকিত্সা যখন আমরা পর্দায় তাদের মুদ্রিত. 1526 01:12:29,200 --> 01:12:31,350 সারি এবং কলাম একটি গ্রিড. 1527 01:12:31,350 --> 01:12:32,350 তারপর - আমরা এই দেখেছি. 1528 01:12:32,350 --> 01:12:33,840 আমরা আসলে শুধু এই কোডেড. 1529 01:12:33,840 --> 01:12:35,780 আমরা কিছু অস্থায়ী স্টোরেজ তৈরি. 1530 01:12:35,780 --> 01:12:38,710 আমরা তখন সেখানে পড়তে ও আমরা এটি লিখতে. 1531 01:12:38,710 --> 01:12:42,680 এই আমরা ঠিক করেছিলাম ঠিক কি না. 1532 01:12:42,680 --> 01:12:46,760 >> আমি বলেন এর পরে, কারণ প্রতিটি লাইন কিছু প্যাডিং মধ্যে শেষ হয়, আমরা 1533 01:12:46,760 --> 01:12:48,260 যে প্যাডিং উপর লাফালাফি - 1534 01:12:48,260 --> 01:12:51,000 পুরানো প্যাডিং. 1535 01:12:51,000 --> 01:12:52,630 এবং তারপর আমরা তা ফিরে যোগ করুন. 1536 01:12:52,630 --> 01:12:55,140 এই ক্ষেত্রে, আমরা তৈরি করছি একই সঠিক ফাইল. 1537 01:12:55,140 --> 01:12:56,180 আমরা শুধু এটা কপি করছি. 1538 01:12:56,180 --> 01:12:57,700 তাই এই লাইন ধরনের মূর্খ হয়. 1539 01:12:57,700 --> 01:12:59,660 আমরা পারা আক্ষরিক শুধু ইন প্যাডিং করা 1540 01:12:59,660 --> 01:13:04,290 >> তবে আপনি যদি ফাইলের আকার পরিবর্তন করা হলে, আপনি এখনও এই লাইন চান? 1541 01:13:04,290 --> 01:13:08,510 1542 01:13:08,510 --> 01:13:11,560 আমরা একটি ফাইলের আকার পরিবর্তন তাই যদি, আমরা এখনও লাফালাফি করতে চান 1543 01:13:11,560 --> 01:13:12,810 পুরানো প্যাডিং উপর? 1544 01:13:12,810 --> 01:13:15,170 1545 01:13:15,170 --> 01:13:15,970 >> শিক্ষার্থীদের 74: হ্যাঁ. 1546 01:13:15,970 --> 01:13:17,090 >> JASON HIRSCHHORN: তাই আমরা যা. 1547 01:13:17,090 --> 01:13:19,290 এই আবার,, পুলিশ কারণ উৎস ফাইলের সাথে. 1548 01:13:19,290 --> 01:13:21,570 আমরা প্যাডিং যত্নশীল না সোর্স ফাইল থেকে. 1549 01:13:21,570 --> 01:13:23,410 আমরা পরের লাইনে যেতে চান. 1550 01:13:23,410 --> 01:13:28,850 কিন্তু আমরা শুধু ফিরে লাগাতে না প্যাডিং পুরোনো পরিমাণ. 1551 01:13:28,850 --> 01:13:31,540 আমরা ফিরে রাখা প্রয়োজন প্যাডিং নতুন পরিমাণ. 1552 01:13:31,540 --> 01:13:35,810 >> সুতরাং আমরা একটি মাপ পরিবর্তন করছি ফাইল, আমরা এখনও বেশী লাফালাফি করতে চান 1553 01:13:35,810 --> 01:13:38,270 পুরোনো ফাইলে প্যাডিং - কি আমরা থেকে এ পড়ি. 1554 01:13:38,270 --> 01:13:40,370 কিন্তু আমরা লিখিতভাবে করছি, আমরা চলুন কিছু ভিন্ন প্রতিহত করা প্রয়োজন 1555 01:13:40,370 --> 01:13:41,890 প্যাডিং সংখ্যা যে আমরা নির্ধারণ করেছি. 1556 01:13:41,890 --> 01:13:42,780 হ্যাঁ. 1557 01:13:42,780 --> 01:13:44,550 >> শিক্ষার্থীদের 75: ঐ দুটি ক্রম লাইন ঠিক আছে, ব্যাপার না? 1558 01:13:44,550 --> 01:13:46,160 আপনি হ্যান্ডলিং করছি কারণ বিভিন্ন ফাইল. 1559 01:13:46,160 --> 01:13:46,620 >> JASON HIRSCHHORN: যথাযথভাবে. 1560 01:13:46,620 --> 01:13:48,220 এই দুই লাইনের অর্ডার কোন ব্যাপার না. 1561 01:13:48,220 --> 01:13:49,790 আমরা এই লাইন লিখুন. 1562 01:13:49,790 --> 01:13:51,430 এই ফাইলের জন্য এখানে হয় আমরা করতে লেখার. 1563 01:13:51,430 --> 01:13:54,370 এটা গুরুত্বপূর্ণ, তাই আমরা পেতে প্যাডিং ঠিক পরিমাণ. 1564 01:13:54,370 --> 01:13:57,560 এই ফাইল সঙ্গে মোকাবিলা করতে হবে. 1565 01:13:57,560 --> 01:13:58,560 আমরা ডান লাফালাফি করতে চান প্যাডিং উপর. 1566 01:13:58,560 --> 01:13:59,470 >> আমরা পড়তে চাই না - 1567 01:13:59,470 --> 01:14:01,500 আমরা একটি সময়ে একটি বাইট পড়া করছি, আমরা যারা প্যাডিং বাইট যত্নশীল না. 1568 01:14:01,500 --> 01:14:04,070 আমরা পরের লাইন স্থানান্তর করতে চান. 1569 01:14:04,070 --> 01:14:11,800 অবশেষে লুসি আমাদের জন্য দিয়েছেন, ঠিক মত আমরা ফাইল বন্ধ করুন এবং 0 ফিরে. 1570 01:14:11,800 --> 01:14:13,890 তাই এই copy.c. হয় 1571 01:14:13,890 --> 01:14:17,850 এবং আমরা আসলে লিখেছে - আমরা অধিকাংশ ব্যয় মূলত, এই লেখা বিভাগে. 1572 01:14:17,850 --> 01:14:18,740 >> আপনি এই করেছেন. 1573 01:14:18,740 --> 01:14:22,440 তাই আশা করছি আপনি একটা ভাল ধারনা আছে এখানে কি করছেন এর. 1574 01:14:22,440 --> 01:14:25,890 বড় পার্থক্য, সত্যি বলতে, শুধু হয় সঙ্গে পুলিশ যে এই প্রথম অংশ 1575 01:14:25,890 --> 01:14:29,970 বিটম্যাপ ফাইল নিজস্ব চালচলন. 1576 01:14:29,970 --> 01:14:33,570 তাই আমি আমার পরবর্তী স্লাইড হিসাবে আছে আমরা কি করতে হবে? 1577 01:14:33,570 --> 01:14:35,510 ভাল, এর রহস্যময় গল্প নিয়ে চিন্তা করা যাক. 1578 01:14:35,510 --> 01:14:38,080 >> আর কারো জন্য যিনি পড়বেন সমস্যা সেট, আমরা কি 1579 01:14:38,080 --> 01:14:41,410 রহস্যময় গল্প মধ্যে কি প্রয়োজন? 1580 01:14:41,410 --> 01:14:42,080 সহজ ভাবে. 1581 01:14:42,080 --> 01:14:42,460 Aleja. 1582 01:14:42,460 --> 01:14:48,570 >> Aleja: আপনি যদি অংশ গ্রহণ করতে পারি লাল উল্লেখ করে যে প্রতিটি পিক্সেল. 1583 01:14:48,570 --> 01:14:49,730 এবং তারপর - 1584 01:14:49,730 --> 01:14:50,730 ধরনের? 1585 01:14:50,730 --> 01:14:51,860 >> JASON HIRSCHHORN: ঠিক আছে. 1586 01:14:51,860 --> 01:14:54,460 তাই প্রতিটি অংশ গ্রহণ লাল উল্লেখ করে যে পিক্সেল. 1587 01:14:54,460 --> 01:14:57,234 যে এটি সব বন্ধ, কিন্তু না. 1588 01:14:57,234 --> 01:14:59,780 >> শিক্ষার্থীদের 76: হ্যাঁ, আছে এটা করতে বিভিন্ন উপায়. 1589 01:14:59,780 --> 01:14:59,870 >> JASON HIRSCHHORN: ঠিক আছে. 1590 01:14:59,870 --> 01:15:03,070 আমার এক উপায় দিন. 1591 01:15:03,070 --> 01:15:08,240 >> শিক্ষার্থীদের 76: সব লাল নিন আউট, এবং তারপর জোর নীল ও সবুজ. 1592 01:15:08,240 --> 01:15:10,010 >> JASON HIRSCHHORN: ঠিক আছে. 1593 01:15:10,010 --> 01:15:11,830 সুতরাং এই উপায়ে উভয় দেওয়া - 1594 01:15:11,830 --> 01:15:15,210 আমরা এটি একটি পিক্সেল দিতে মত, শব্দ এটা একটি লাল, নীল, সবুজ স্তর আছে. 1595 01:15:15,210 --> 01:15:19,350 আমরা আপেক্ষিক মাত্রা পরিবর্তন করতে চান নির্ভর করে, লাল, নীল, সবুজ 1596 01:15:19,350 --> 01:15:20,740 যে পিক্সেল উপর. 1597 01:15:20,740 --> 01:15:28,380 এই কোডে আমরা পরিবর্তন করা উচিত কোথায় আপেক্ষিক, লাল, নীল, সবুজ 1598 01:15:28,380 --> 01:15:29,720 একটি প্রদত্ত পিক্সেল মাত্রা. 1599 01:15:29,720 --> 01:15:30,600 আমরা তা পড়েছি পর - 1600 01:15:30,600 --> 01:15:32,520 আমরা এটি লেখার আগে? 1601 01:15:32,520 --> 01:15:34,564 আমার লাইন নম্বর দিন. 1602 01:15:34,564 --> 01:15:35,950 >> একাধিক ছাত্র: 83. 1603 01:15:35,950 --> 01:15:37,320 >> JASON HIRSCHHORN: 83. 1604 01:15:37,320 --> 01:15:38,570 সুতরাং এখানে ডান. 1605 01:15:38,570 --> 01:15:40,830 1606 01:15:40,830 --> 01:15:45,710 রহস্যময় গল্প জন্য, কোড আপনি প্রয়োজন লেখার সব অধিকার আছে যেতে হবে. 1607 01:15:45,710 --> 01:15:47,640 এবং যে শুধুমাত্র কোড এর আপনি লিখুন প্রয়োজন. 1608 01:15:47,640 --> 01:15:51,520 আমরা শুনেছি মত, সব আপনি প্রয়োজন, কারণ না, এই আপেক্ষিক নীল পরিবর্তন হয় 1609 01:15:51,520 --> 01:15:54,420 প্রতিটি পিক্সেল থেকে লাল, সবুজ এবং মাত্রা. 1610 01:15:54,420 --> 01:15:58,250 >> আপনি এটা পড়েছি, এবং এখন আপনি আছেন এটি লিখতে যাচ্ছি. 1611 01:15:58,250 --> 01:16:03,100 আমি কিভাবে পেতে পারি - আমি এই জিনিস আছে অধিকার এখানে, ট্রিপল বলা হয়, এবং এটি আছে 1612 01:16:03,100 --> 01:16:04,570 RGBTRIPLE টাইপ করুন - 1613 01:16:04,570 --> 01:16:08,650 ভাল, আমরা bmp.h মধ্যে লাগছিল, যদি, RGBTRIPLE কি? 1614 01:16:08,650 --> 01:16:11,450 1615 01:16:11,450 --> 01:16:12,700 >> শিক্ষার্থীদের 77: এটি একটি struct এর. 1616 01:16:12,700 --> 01:16:17,440 1617 01:16:17,440 --> 01:16:18,900 >> JASON HIRSCHHORN: RGBTRIPLE একটি struct হয়. 1618 01:16:18,900 --> 01:16:22,330 আমরা ডান নিচে এখানে দেখতে. 1619 01:16:22,330 --> 01:16:26,600 এবং তাই আমি,, বলতে এক্সেস চেয়েছিলেন struct লাল স্তর, কিভাবে আমি না 1620 01:16:26,600 --> 01:16:30,005 এই struct লাল স্তর অ্যাক্সেস? 1621 01:16:30,005 --> 01:16:37,280 >> [ক্লাস murmurs] 1622 01:16:37,280 --> 01:16:38,530 >> শিক্ষার্থীদের 78: RGBTRIPLE.rgbtred? 1623 01:16:38,530 --> 01:16:47,250 1624 01:16:47,250 --> 01:16:48,856 >> JASON HIRSCHHORN: যে সঠিক? 1625 01:16:48,856 --> 01:16:53,040 >> শিক্ষার্থীদের 79: এটা ট্রিপল হওয়া উচিত পরিবর্তে RGBTRIPLE ডট এর বিন্দু,? 1626 01:16:53,040 --> 01:16:54,120 >> JASON HIRSCHHORN: ট্রিপল. 1627 01:16:54,120 --> 01:16:56,700 ট্রিপল স্থানীয় পরিবর্তনশীল, তাই এখানে, এখানে কোন পয়েন্টার আছে. 1628 01:16:56,700 --> 01:16:58,400 তাই আমরা শুধু বিন্দু স্বরলিপি ব্যবহার. 1629 01:16:58,400 --> 01:17:00,480 এই আমার লাল স্তর দিতে হবে. 1630 01:17:00,480 --> 01:17:06,180 আমি এটা পরিবর্তন করতে চান, আমি শুধু সেট এটা নতুন কিছু করার সমান. 1631 01:17:06,180 --> 01:17:13,190 তাই আবার, কোড এই লাইন ব্যবহারের এই এই struct ভিতরে পরিবর্তনশীল, এবং 1632 01:17:13,190 --> 01:17:15,070 আমরা নতুন কিছু করতে এটা সেট করতে পারেন. 1633 01:17:15,070 --> 01:17:20,040 >> সুতরাং রহস্যময় গল্প জন্য, আবার, এই হল, প্রকৃতরূপে, আমরা কি করতে হবে. 1634 01:17:20,040 --> 01:17:21,170 অত্যন্ত সহজ. 1635 01:17:21,170 --> 01:17:25,020 শুধু কিছু আপেক্ষিক মাত্রা পরিবর্তন, এবং যে কোড যায় যেখানে এই হল. 1636 01:17:25,020 --> 01:17:27,720 অন্য দিকে, পুনরায় আকার, একটি বিট trickier হয়. 1637 01:17:27,720 --> 01:17:30,900 আসলে, পুনরায় মাপ সম্ভবত এই সমস্যার trickiest অংশ সেট. 1638 01:17:30,900 --> 01:17:32,720 আমরা এটা ধরে যেতে তিন মিনিট আছে. 1639 01:17:32,720 --> 01:17:34,910 >> কিন্তু আবার, আমরা ইতিমধ্যে লিখিত করেছি এই কোড অধিকাংশই, তাই আমরা 1640 01:17:34,910 --> 01:17:36,500 বেশ পরিচিত হওয়া উচিত. 1641 01:17:36,500 --> 01:17:40,750 আমরা এ কাজ করতে চান কিছু জিনিস কি কি আপনি উপর পড়তে করেছি, মাপ পরিবর্তন 1642 01:17:40,750 --> 01:17:43,470 সমস্যা সেট? 1643 01:17:43,470 --> 01:17:45,290 আপনি আমাকে দিয়ে দিন, আমরা তাদের বিষয়ে কথা বলতে পারেন. 1644 01:17:45,290 --> 01:17:47,340 আমরা যেতে চাই কিছু জিনিস কি কি? 1645 01:17:47,340 --> 01:17:47,970 >> শিক্ষার্থীদের 80: উলম্ব - 1646 01:17:47,970 --> 01:17:52,360 তাই আপনি, অনুভূমিকভাবে এটি মাপ পরিবর্তন করতে হবে কিন্তু উল্লম্বভাবে পাশাপাশি এটি মাপ পরিবর্তন? 1647 01:17:52,360 --> 01:17:58,475 >> JASON HIRSCHHORN: সুতরাং আমরা দেওয়া করছি যদি পিক্সেল, এবং আমরা একটি দ্বারা এটি মাপ পরিবর্তন চাই 1648 01:17:58,475 --> 01:18:03,460 দুটি ফ্যাক্টর, এটা এখন করা প্রয়োজন অনুভূমিকভাবে মাপ পরিবর্তন ও পরিবর্তিত 1649 01:18:03,460 --> 01:18:05,220 উল্লম্বভাবে. 1650 01:18:05,220 --> 01:18:06,640 যে জানার জন্য? 1651 01:18:06,640 --> 01:18:07,060 হ্যাঁ. 1652 01:18:07,060 --> 01:18:09,300 সুতরাং যে সম্ভবত সবচেয়ে বড় চ্যালেঞ্জ. 1653 01:18:09,300 --> 01:18:10,430 এবং আমরা একটি সেকে মধ্যে যে বিষয়ে কথা বলতে পারবেন. 1654 01:18:10,430 --> 01:18:11,065 হ্যাঁ. 1655 01:18:11,065 --> 01:18:15,270 >> শিক্ষার্থীদের 81: আমি এটা চিন্তা উপায় আপনি মুদ্রণ এটি প্রয়োজন ছিল - 1656 01:18:15,270 --> 01:18:15,490 >> JASON HIRSCHHORN: অপেক্ষা করুন. 1657 01:18:15,490 --> 01:18:17,580 আপনি কি আমাদের বলতে না. 1658 01:18:17,580 --> 01:18:20,620 আমরা যুক্তি মধ্যে কথা বলতে চলুন. 1659 01:18:20,620 --> 01:18:21,870 >> শিক্ষার্থীদের 81: ঠিক আছে. 1660 01:18:21,870 --> 01:18:25,090 1661 01:18:25,090 --> 01:18:27,410 প্রশ্ন কি ছিল? 1662 01:18:27,410 --> 01:18:28,892 >> JASON HIRSCHHORN: আপনি ঠিক আপনার হাত উত্থাপিত. 1663 01:18:28,892 --> 01:18:31,600 কোন প্রশ্ন ছিল. 1664 01:18:31,600 --> 01:18:32,520 আমার তা উপস্থাপন করা যাক. 1665 01:18:32,520 --> 01:18:34,560 আমাকে শুধু এই সংক্ষিপ্তভাবে আলোচনা করা যাক. 1666 01:18:34,560 --> 01:18:38,400 সুতরাং আমরা, আমরা এক পিক্সেল চান করেছেন উভয় অনুভূমিকভাবে, এটি প্রতিলিপি নির্মাণ ও 1667 01:18:38,400 --> 01:18:39,360 উল্লম্বভাবে. 1668 01:18:39,360 --> 01:18:48,920 তাই মনে মনে কি আমরা এখানে না, হয় আমরা আমাদের পিক্সেল পড়তে, আমরা তা লিখুন 1669 01:18:48,920 --> 01:18:51,690 বার কিন্তু অনেক. 1670 01:18:51,690 --> 01:18:54,720 >> কিন্তু তারপর আমরা এখানে আমাদের কৌতুক আছে, কারণ তারপর আমরা করতে লাফালাফি করতে চান 1671 01:18:54,720 --> 01:18:57,660 পরের লাইন এবং তা লিখুন পরের লাইনের শুরুতে. 1672 01:18:57,660 --> 01:19:02,960 সুতরাং আমরা উভয় প্রতিলিপি নির্মাণ করতে চান অনুভূমিকভাবে এবং উল্লম্বভাবে, কি 1673 01:19:02,960 --> 01:19:05,050 যে কি এক ভালো উপায় - 1674 01:19:05,050 --> 01:19:06,780 ভালো, যদিও যে কি? 1675 01:19:06,780 --> 01:19:11,950 সুতরাং আমরা ক্রমাগত চাওয়া দরকার নেই আমাদের ফাইল চারপাশে জিনিস লিখুন. 1676 01:19:11,950 --> 01:19:14,360 >> যে প্রশ্ন আছে নাও হতে পারে অনুভূতি তৈরি, কিন্তু আমি মনে করি একটি 1677 01:19:14,360 --> 01:19:15,800 এটি উত্তর দিতে সাহায্য করবে. 1678 01:19:15,800 --> 01:19:17,210 >> শিক্ষার্থীদের 82: একটি অ্যারে তৈরি করুন! 1679 01:19:17,210 --> 01:19:20,090 >> JASON HIRSCHHORN: সুতরাং আসুন মনে করা যাক একটি সারিতে হিসাবে প্রতিটি ফাইলের. 1680 01:19:20,090 --> 01:19:22,550 এর সারি পরিপ্রেক্ষিতে মনে করি. 1681 01:19:22,550 --> 01:19:26,670 আমরা আমাদের ছোট থেকে আমাদের প্রথম সারিতে আছে ছবি, আমরা যে সারি করতে পারেন 1682 01:19:26,670 --> 01:19:30,640 বৃহৎ ছবি থেকে বৃহৎ সারি মধ্যে, এবং তারপর কিন্তু যে সারি প্রতিলিপি 1683 01:19:30,640 --> 01:19:34,250 এটি প্রতিলিপি করা প্রয়োজন অনেক বার, বরং পিক্সেল দ্বারা পিক্সেল যাচ্ছে ছাড়া, 1684 01:19:34,250 --> 01:19:37,260 যখন বিভ্রান্তিকর পায় যা ফাইল সঙ্গে লেনদেন. 1685 01:19:37,260 --> 01:19:38,730 >> আমরা ছিল কারণ - 1686 01:19:38,730 --> 01:19:41,260 আমি স্থান চলমান আউট করছি. 1687 01:19:41,260 --> 01:19:46,490 এই আমাদের ফাইল, এবং আমরা আছে যে সেখানে এক পিক্সেল, এবং আমরা এটা করা চাই 1688 01:19:46,490 --> 01:19:49,840 অধিকার আছে, আমরা এখনও কিছু কিছু বিষয় আছে ওইখানে আমরা যখন যেতে যে প্রয়োজন 1689 01:19:49,840 --> 01:19:51,450 লেখা এবং আমাদের নতুন ফাইল তৈরি - 1690 01:19:51,450 --> 01:19:53,250 আমাদের ফাইলে যে দুইবার হিসাবে বড়. 1691 01:19:53,250 --> 01:19:56,820 >> কিন্তু ফাইল ফাংশন সঙ্গে সত্যিই কঠিন নতুন লাইন চারপাশে লাফালাফি করা 1692 01:19:56,820 --> 01:20:00,260 যে মত, এবং তারপর এখানে ফিরে যান এবং সেখানে অনেক কিছু করা. 1693 01:20:00,260 --> 01:20:04,500 এটা কিছু করতে প্রায় অসম্ভব সেই মতো, যে অর্থে তোলে যদি. 1694 01:20:04,500 --> 01:20:10,180 আমরা সারি পরিপ্রেক্ষিতে মনে সুতরাং, যদি আমরা করতে পারেন আমাদের সারি গ্রহণ, এবং তারপর এটা করা - 1695 01:20:10,180 --> 01:20:11,720 উল্লম্বভাবে সারি প্রতিলিপি. 1696 01:20:11,720 --> 01:20:15,860 >> এবং যে আমরা resizing মোকাবেলা কিভাবে উল্লম্বভাবে বরং অনুভূমিকভাবে তুলনায়. 1697 01:20:15,860 --> 01:20:18,810 যে ধরনের দ্রুত, এবং একটু বিভ্রান্ত. 1698 01:20:18,810 --> 01:20:22,375 দুর্ভাগ্যবশত আমাদের সময় হয়. 1699 01:20:22,375 --> 01:20:27,340 আমি আপনি তাদের জন্য বাইরে দাঁড়ানো হবে এখানে প্রশ্ন থাকে যারা 1700 01:20:27,340 --> 01:20:30,500 পুনরুদ্ধার সহ সমস্যা সেট,. 1701 01:20:30,500 --> 01:20:32,320 >> তাই আসুন এখন জন্য স্থগিত রাখা যাক. 1702 01:20:32,320 --> 01:20:34,480 এবং আবার, যদি আপনার কোন প্রশ্ন থাকে তাহলে, আমরা বাইরে চ্যাট করতে পারবেন. 1703 01:20:34,480 --> 01:20:38,294