[موسیقی بجانا] روب Bowden: ہیلو. میں روب ہوں، اور امید کرتے ہیں کہ اس کا حل ڈال میں مدد ملتی ہے وصولی کے لئے سڑک پر. تو چلو شروع کرتے ہیں. ہمیں فوری طور پر ہم دیکھتے ہیں کہ صرف ہم اس بات کو یقینی بنانے کے لئے صحیح طریقے سے بازیافت استعمال کرتے ہوئے. تو استعمال صرف کچھ ہونا چاہئے ڈاٹ سلیش کی وصولی کی طرح. اب ہم توقع کھولنے کے لئے جا رہے ہیں کارڈ خام فائل ڈاٹ. ہم استعمال کر رہے ہیں کہ یہاں دیکھ مسلسل خام کشید فائل کا نام، ہم ہیش ہے یہاں جس کارڈ خام ڈاٹ کے طور پر بیان. ٹھیک ہے. تو ہم اس بات کو یقینی بنانے کے لئے کی ضرورت ہے کامیابی سے کھول دیا، کیونکہ تو اس ، پھر ہم صارف کو خبردار کیا جانا چاہئے نہیں کیا. لیکن یہ کیا ہے کہ سنبھالنے کے، اب ہم ہیں سائز JPEG کے ایک بفر اعلان کرنے جا نام لمبائی دائر. تو اس بفر کی جا رہی ہے کہ ہم میں sprintf کرنے جا رہے ہیں. تو JPEG فائل نام لمبائی کیا ہے؟ یہاں، ہم یہ دیکھتے ہیں کہ آٹھ کے طور پر بیان ہیش. تو کیوں آٹھ؟ ویسے ایک دیئے گئے فائل کا نام ہو گا صفر صفر صفر کی طرح کچھ. JPG اور پھر ہم ایک الٹا سلیش صفر کی ضرورت ہے. تو ہم کہ سکتے ہیں ایک بفر کی ضرورت آٹھ حروف محفوظ. اب ہم ہے کہ ایک کاؤنٹر لئے جا رہے ہیں کا ٹریک رکھنے کے لئے کی جا رہی تعداد JPEGs کے ہم نے محسوس کیا. اور آخر میں، ہم جا رہے ہیں ایک ابتدائی طور پر نل ہے جس JPEG فائل فی الحال جا رہا ہے جس میں ہم لکھ رہے ہیں کہ کھلی فائل. اب ہم جا رہے ہیں ایک اضافی بفر. یہ ہماری sprintf کے طور پر ہی نہیں ہے اس بفر میں سے ایک ہے جہاں بفر ہم اعداد و شمار پڑھ رہے ہیں کہ کارڈ خام ڈاٹ سے. تو بفر کی جا رہی ہے اہستاکشرت حروف، جس میں آپ کر سکتے ہیں بنیادی طور پر صرف ہم بائٹس کا علاج، اور یہ سائز بلاک کے سائز کی ہو جا جہاں، ہم آپ کو بتا کے طور پر، بلاک سائز 512 ہے. تو JPEGs کے آپ کو سب کچھ علاج کر سکتے ہیں 512 بائٹس کے بلاکس کے طور پر. اب ہم لوپ کرنے جا رہے ہیں پوری فائل پر. ہم F ہمارے بفر میں پڑھنے کے لئے جا رہے ہیں ایک بائٹ بلاک سائز دور سے کارڈ خام فائل ڈاٹ. اب F واپس کیا پڑھا ہے؟ یہ اشیاء کی تعداد کی واپسی اس کامیابی کے ساتھ پڑھ. اس وقت، 512 بائٹس پڑھنے کے لئے میں کامیاب اگر ایسا ہے تو ہم اس سے ایک تھا چاہے دیکھنا چاہتے ہیں JPEG یا یہ ایک JPEG فائل لکھیں. اور یہ 512 بائٹس واپس نہیں کیا ہے تو، پھر فائل، یا تو ختم ہو گیا ہے ہم Y کے باہر توڑ دونگا جس صورت لوپ، یا غلطی کی کسی قسم کی ہیں ہم نے بھی کے باہر توڑ دونگا جس صورت میں Y لوپ، لیکن ہم رپورٹ کرنے کے لئے چاہتے ہیں کریں گے کہ کچھ غلط ہو گیا. ٹھیک ہے. تو ہم کامیابی کے ساتھ پڑھ سنبھالنے 512 بائٹس میں، ہم سب سے پہلے جانچ کرنا چاہتے ہیں کرنے کے لئے کہ ان بائٹس کہ ہم صرف میں پڑھا ایک JPEG شروع. اگر ایسا ہے تو ہمارے بفر کی JPEG ہیڈر ہے. اب JPEG ہیڈر یہ کیا کر رہا ہے؟ دیکھو دو. یہاں، ہم اس تقریب ہے کہ کو دیکھنے کے ایک بیل واپس لوٹنے کے، اور یہ کہ بل - یہاں، ہم کو دیکھنے کے لئے کی جانچ پڑتال کر رہے ہیں ہیڈر صفر اس مسلسل کے برابر ہے اور ہیڈر اس مسلسل کے برابر ہے اور ہیڈر دو، اس مسلسل برابر ہیڈر تین اس یا اس کے برابر ہے ان تمام constants ہیں جہاں مسلسل صرف یہاں پر بیان کیا ہیش ہیں ہم رپورٹ میں آپ کو بتایا کہ بالکل کیا ایک JPEG کے ساتھ شروع ہوتی ہے. اور اس طرح یہ تقریب صرف کی جا رہی ہے اس بفر کی نمائندگی کرتا ہے، اگر سچ واپس ایک نئی JPEG کے آغاز اور جھوٹے دوسری صورت میں. ٹھیک ہے. یہ ایک نیا JPEG نمائندگی کرتا ہے اگر ایسا ہے تو، اس کے بعد ہم سب سے پہلے دیکھنے کے لئے چیک کرنے کے لئے چاہتے ہیں تو JPEG فائل، شہوت انگیز null برابر نہیں ہے جس میں کیس ہم اسے بند. اور تو ہم چیک کرنے کی ضرورت ہے یہ نل نہیں ہے تو دیکھ رہے ہو؟ پر ویسے بہت پہلے JPEG کہ ہم ہم نے پہلے ہی نہیں ہو گا کی تلاش ایک کھلی JPEG فائل. اور اس طرح، تو ہم، ہے کو بند کرنے کی کوشش کرتے ہیں ہم بالکل ٹھیک کچھ نہیں کر رہے ہیں. لیکن ہر بعد JPEG کہ ہم کو کھولنے، ہم بند کرنا چاہتے ہیں گزشتہ فائل. تو اب ہم ہم sprintf استعمال کرنے کے لئے جا رہے ہیں ہم استعمال کر رہے ہیں، جہاں سے پہلے کہا بفر JPEG فائل کا نام. اور ہم JPEG فائل استعمال کرنے کے لئے جا رہے ہیں ہماری شکل کے طور پر فارمیٹ کا نام. اور وہ کیا ہے؟ یہاں، ہم نے اسے فیصد صفر ہے دیکھتے ہیں کہ 3D.JPEG جہاں صفر سے تین صرف ہم تین integers کے استعمال کریں گے کا کہنا ہے کہ اس کے لئے صفر کے ساتھ padded. تو یہ ہم صفر صفر مل جائے گا کس طرح ہے تو one.JPEG اور صفر 10.JPEG اور. ہم sprintf استعمال کرنے کے لئے جا رہے ہیں. اور ہم داخل کر رہے ہیں کہ عددی سٹرنگ سنن JPEGs کے ہے میں اصل میں صفر ہے، جس میں برآمد. تو سب سے پہلے فائل جا رہا ہے کھول دیا صفر صفر صفر ڈاٹ JPEG ہو. اور پھر ہم تو یہ incrementing کر رہے ہیں ہم کھولنے اگلا فائل صفر صفر ہو جائے گا ایک نقطہ JPEG اور ہم یہ اضافہ کروں گا پھر تو یہ صفر صفر دو نقطہ ہو جائے گا تو JPEG اور. ٹھیک ہے. تو اب JPEG فائل کے اندر نام، ہم نام ہے ہم چاہتے ہیں کہ فائل. ہم F لکھنے کے لئے اس فائل کو کھول سکتے ہیں. ٹھیک ہے. اور ایک بار پھر، ہم کرنے کے لئے چیک کرنے کی ضرورت ہے اس بات کا یقین ہے کہ کامیابی کے ساتھ فائل یہ نہیں، تو کیا تو بعد کھول دیا کچھ خرابی تھی. تو اب ہم ماضی ہو گیا ہے یہ ایک JPEG حصہ ہے. اور یہاں، ہم جا رہے ہیں کو دیکھنے کے JPEG کو لکھنے کے لئے. لیکن ہم سب سے پہلے ہیں جو یہ چیک ہے JPEG فائل برابر نل نہیں ہے تو. کیوں کہ ہم اس کی ضرورت ہے؟ ٹھیک ہے JPEG فائل، شہوت انگیز null برابر جب ہم فی الحال ایک کھلی JPEG ہے. کیا کارڈ ڈاٹ خام شروع ہوتا ہے بائٹس کا ایک گروپ کے ساتھ اس ایک JPEG کی نمائندگی نہیں کرتے؟ اس کے بعد ہم چاہتے ہیں کے لئے جا رہے ہیں ان بائٹس پر جائیں. ہم اس چیک کی ضرورت نہیں ہے، تو پھر ہم ہیں ایک نہ کھولے ہوئے کو لکھنے کے لئے کی جا رہی کا پہلا 512 بائٹس دائر اچھا نہیں ہے جس میں کارڈ. ٹھیک ہے. تو پھر، ہم نے ایک کھلی فائل سنبھالنے ہم نے اس فائل کو لکھنے کے لئے جا رہے ہیں ہم اپنے بفر میں ہے کہ 512 بائٹس. اور ہم ایک بار پھر بنانے کے لئے کی جانچ پڑتال کر رہے ہیں اس بات کا یقین ہے کہ کامیابی کے ساتھ 512 بائٹس وہ نہیں تھے کیونکہ اگر لکھا گیا تھا کامیابی سے لکھا، پھر کچھ غلط ہو گیا. ہم نے اس کو پرنٹ، ہمارے فائلوں کو بند کر دیں گے کچھ غلط ہو گیا، اور واپسی. سنبھالنے سب کچھ اس کے بعد، صحیح طریقے سے چلا جاتا ہے ہم بند looping کے رکھیں گے پرانی فائل، نئی فائل کو کھولنے، تحریری طور پر تو نئی فائل کے اعداد و شمار، اور آخر میں، یہ F پڑھنے تک صفر واپس جس کا مطلب ہے کہ فائل کیا جاتا ہے. تو اب کارڈ پڑھنے سے زیادہ ہے، ہم ہم F بند کرنے کے لئے جا رہے ہیں دیکھتے ہیں کہ ہم کھلے تھا، لیکن اس آخری فائل ہم جانچ پڑتال کر رہے ہیں JPEG فائل برابر نہیں، شہوت انگیز null کرتا ہے. ویسے F بند کیونکہ سمجھ میں آتا ہے ہم بند کر رہے ہیں، فائلوں کو کھولنے رہے ہیں گزشتہ فائل، لیکن بہت آخری ہم کھول دیا اس فائل کو بند کر دیا جاتا ہے کبھی نہیں. تو وہ یہ کر رہی ہے کیا ہے. لیکن کیوں ہم شہوت انگیز null کے لئے چیک کرنے کی ضرورت ہے؟ ویسے اگر کارڈ ڈاٹ خام نہیں کیا اس کے اندر ایک JPEG ہے؟ اس صورت میں، ہم کریں گے ایک فائل کو کبھی نہیں کھولا. ہم نے ایک فائل کو کھولنے کبھی نہیں اور اگر، ہمیں چاہئے اس فائل کو بند کرنے کی کوشش نہیں کی. تو وہ یہ چیک کر رہا ہے. میں نے پہلے کہا کے طور پر اب یہاں،، ہم کر سکتے کہ Y لوپ یا تو باہر توڑ دیا ہے کارڈ موجود ہیں تو ختم ہو گئی یا ہے کارڈ سے پڑھنے کچھ خرابی. تو یہ وہاں تھا تو دیکھنے کے لئے جانچ پڑتال کی ہے میں، کارڈ سے پڑھ ایک غلطی جس صورت، ہم وہاں کہیں گے ایک خرابی پڑھ رہا تھا. ہم صارف میں سوچنے کے لئے نہیں کرنا چاہتا سب کچھ کامیابی کے ساتھ چلا گیا. اور ہم غلطی کے لئے ایک واپس آ جائیں گے. آخر میں، ہم F ہماری خام فائل بند کر دیں گے، ہمارے کارڈ پر دلالت کرنے کے لئے، خام ڈاٹ سب کچھ اچھی طرح سے اور واپسی گئے صفر اور یہ کہ یہ ہے. میرا نام روب ہے اور اس کی وصولی تھا. [موسیقی بجانا]