1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [فائل I / O] 2 00:00:02,000 --> 00:00:04,000 [جیسن Hirschhorn، ہارورڈ یونیورسٹی] 3 00:00:04,000 --> 00:00:07,000 [یہ CS50 ہے، CS50.TV] 4 00:00:07,000 --> 00:00:11,000 کیا آتا ہے جب ہم ایک فائل کے بارے میں سوچتے ہیں، ذہن Microsoft Word دستاویز ہے، 5 00:00:11,000 --> 00:00:14,000 ایک JPEG تصویر، یا ایک MP3 نغمے کی، 6 00:00:14,000 --> 00:00:17,000 اور ہم مختلف طریقوں سے فائلوں کی ان اقسام میں سے ہر ایک کے ساتھ بات چیت. 7 00:00:17,000 --> 00:00:20,000 مثال کے طور پر، ہم نے ایک لفظ دستاویز میں متن شامل 8 00:00:20,000 --> 00:00:24,000 جب ہم ایک JPEG تصویر کے ساتھ باہر کناروں کو تراشیں یا رنگ retouch ہو سکتا ہے. 9 00:00:24,000 --> 00:00:28,000 لیکن ہڈ کے تحت ہمارے کمپیوٹر میں فائلوں کی سب سے زیادہ کچھ نہیں ہے 10 00:00:28,000 --> 00:00:31,000 zeros اور ہیں کی ایک طویل ترتیب سے. 11 00:00:31,000 --> 00:00:33,000 یہ خاص درخواست ہے کہ فائل کے ساتھ انٹرایکٹ ہے 12 00:00:33,000 --> 00:00:38,000 فیصلہ کس طرح اس طویل ترتیب پر عملدرآمد کریں اور صارف کو پیش کر. 13 00:00:38,000 --> 00:00:41,000 ایک طرف، ایک دستاویز میں صرف ایک بائٹ میں نظر ہو سکتا ہے، 14 00:00:41,000 --> 00:00:45,000 یا 8 zeros اور ہیں، اور سکرین پر ایک ASCII کردار کو ظاہر کریں. 15 00:00:45,000 --> 00:00:48,000 دوسری طرف، ایک بٹ نقشہ تصویر 3 بائٹس کو دیکھو ہو سکتا ہے، 16 00:00:48,000 --> 00:00:50,000 یا 24 zeros اور ہیں 17 00:00:50,000 --> 00:00:53,000 اور ان کے 3 شش اعشاری تعداد کے طور پر تشریح 18 00:00:53,000 --> 00:00:56,000 جو سرخ، سبز، اور نیلے رنگ کے لئے اقدار کی نمائندگی کرتی ہیں 19 00:00:56,000 --> 00:00:58,000 ایک تصویر کے ایک پکسل میں. 20 00:00:58,000 --> 00:01:01,000 جو کچھ بھی وہ چاہتے ہیں ان کے مرکز میں آپ کی سکرین پر دیکھ سکتے ہیں، 21 00:01:01,000 --> 00:01:05,000 فائلوں zeros اور والوں میں ایک ہی تسلسل سے کچھ نہیں ہیں. 22 00:01:05,000 --> 00:01:08,000 تو چلو میں کودو اور کو دیکھو، کس طرح ہم واقعی ان zeros اور ہیں جوڑتوڑ 23 00:01:08,000 --> 00:01:12,000 یہ لکھنے اور ایک فائل سے پڑھنے کے لئے جب آتا ہے. 24 00:01:12,000 --> 00:01:15,000 >> میں یہ ایک آسان حصہ 3 کے عمل میں توڑ نیچے کی طرف سے شروع کریں گے. 25 00:01:15,000 --> 00:01:19,000 اگلا، میں دو کوڈ مثال کے طور پر ہے جو ان تین حصوں کا مظاہرہ میں کودو گے. 26 00:01:19,000 --> 00:01:23,000 آخر میں، میں عمل کا جائزہ لیں گے اور اس کی سب سے اہم تفصیلات میں سے کچھ کریں گے. 27 00:01:23,000 --> 00:01:25,000 کے طور پر، کسی بھی فائل ہے کہ آپ کے ڈیسک ٹاپ پر بیٹھا ہے کے ساتھ، 28 00:01:25,000 --> 00:01:28,000 اسے کھولنے کے لئے سب سے پہلے کام کرنا ہے. 29 00:01:28,000 --> 00:01:31,000 C میں ہم پیش وضاحتی struct پوائنٹر اعلان کر ایسا 30 00:01:31,000 --> 00:01:33,000 جو ڈسک پر فائل کی نمائندگی کرتا ہے. 31 00:01:33,000 --> 00:01:38,460 اس فنکشن کال میں، ہم نے یہ بھی فیصلہ کریں گے کہ ہم لکھنے یا فائل سے پڑھ کرنا چاہتے ہیں. 32 00:01:38,460 --> 00:01:41,660 اگلا، ہم اصل پڑھنے اور لکھنے کرتے ہیں. 33 00:01:41,660 --> 00:01:44,800 خصوصی کے افعال میں سے ایک بڑی تعداد ہے ہم اس حصہ میں استعمال کر سکتے ہیں ہیں، 34 00:01:44,800 --> 00:01:48,790 اور ان میں سے تقریبا تمام خط F، جو کہ فائل کے لئے کھڑا ہے کے ساتھ شروع ہو جاتے ہیں. 35 00:01:48,790 --> 00:01:53,560 آخری فائلوں کے سب سے اوپر کونے میں لٹل ریڈ X کے مشابہ کھولتے ہیں تو، آپ کے کمپیوٹر پر 36 00:01:53,560 --> 00:01:56,680 ہم ایک حتمی تقریب کی کال کے ساتھ فائل بند کرو. 37 00:01:56,680 --> 00:01:59,540 اب جب کہ ہم نے کہ ہم کیا کرنے جا رہے ہیں ایک عام خیال ہے، 38 00:01:59,540 --> 00:02:02,000 کوڈ میں کودو. 39 00:02:02,000 --> 00:02:06,100 >> اس ڈائریکٹری میں، ہم دو C فائلوں اور ان کی اسی کارکردگی قابل فائلوں کو ہے. 40 00:02:06,100 --> 00:02:09,710 ٹائپ رائٹر پروگرام ایک کمانڈ لائن دلیل لیتا ہے، 41 00:02:09,710 --> 00:02:12,060 دستاویز کے نام پر ہم پیدا کرنا چاہتے ہیں. 42 00:02:12,060 --> 00:02:16,160 اس صورت میں، ہم اسے doc.txt فون کریں گے. 43 00:02:16,160 --> 00:02:19,080 چلو پروگرام چلائیں اور لائنوں میں سے ایک جوڑے درج کریں. 44 00:02:19,080 --> 00:02:23,660 ہیلو. میرا نام Jason ہے. 45 00:02:23,660 --> 00:02:26,710 آخر میں، ہم ٹائپ "چھوڑ دیا." گے 46 00:02:26,710 --> 00:02:29,720 اگر ہم اب اس ڈائریکٹری میں فائلوں کی تمام فہرست 47 00:02:29,720 --> 00:02:33,770 ہم دیکھتے ہیں کہ ایک نئی دستاویز doc.txt کہا جاتا ہے موجود ہے. 48 00:02:34,190 --> 00:02:36,110 وہ فائل میں یہ صرف پیدا پروگرام ہے. 49 00:02:36,110 --> 00:02:40,520 اور ظاہر کی، یہ بھی zeros اور ہیں کی ایک طویل ترتیب سے زیادہ کچھ نہیں ہے. 50 00:02:41,100 --> 00:02:43,260 اگر ہم اس نئی فائل کو کھولنے، 51 00:02:43,260 --> 00:02:45,870 ہم نے کوڈ کی 3 لائنیں ہم اپنے پروگرام میں داخل ہوئے ہیں - 52 00:02:46,060 --> 00:02:49,060 ہیلو. مئی نام Jason ہے. 53 00:02:49,580 --> 00:02:52,090 لیکن جو اصل میں جب typewriter.c چلتا ہے پر جا رہا ہے؟ 54 00:02:52,810 --> 00:02:55,520 ہمارے لئے سود کی پہلی سطر 24 اوپر ہے. 55 00:02:55,560 --> 00:02:58,490 اس لائن میں، ہم ہماری فائل پوائنٹر کا اعلان. 56 00:02:59,080 --> 00:03:03,140 تقریب جو اس پوائنٹر، fopen واپس، دو دلائل لیتا ہے. 57 00:03:03,140 --> 00:03:07,440 اگر مناسب ہو تو فائل چڑھانے کی کوشش بھی شامل ہے پہلی فائل کا نام ہے. 58 00:03:07,440 --> 00:03:10,980 کو یاد ہوگا کہ ایک فائل چڑھانے کی کوشش میں اپنی کم ترین سطح پر فائل کو متاثر نہیں کرتی. 59 00:03:10,980 --> 00:03:14,640 ہم نے ہمیشہ zeros اور ہیں کی ایک طویل ترتیب کے ساتھ کام کر رہے ہو. 60 00:03:14,640 --> 00:03:19,630 لیکن یہ اثر و رسوخ ہے کہ کس طرح فائلوں کی تشریح کیا ایپلی کیشنز ان کو کھولنے کے لئے استعمال کیا جاتا ہے. 61 00:03:19,630 --> 00:03:22,290 دوسری fopen پر دلیل کسی ایک خط ہے 62 00:03:22,290 --> 00:03:25,300 ہے کہ جو ہم نے کے بعد ہم فائل کو کھولنے کی منصوبہ بندی کے لئے کھڑا ہے. 63 00:03:25,300 --> 00:03:30,630 W، R، اور A. اس دلیل کے لئے تین اختیارات ہیں - 64 00:03:30,630 --> 00:03:34,900 ہم اس معاملے میں ڈبلیو کا انتخاب کیا ہے کیونکہ ہم فائل میں لکھنے کے لئے چاہتے ہیں. 65 00:03:34,900 --> 00:03:38,820 R، جیسا کہ آپ شاید اندازہ لگا سکتے ہیں، فائل پڑھنے کے لئے ہے. 66 00:03:38,820 --> 00:03:41,760 اور ایک فائل appending کے لئے ہے. 67 00:03:41,760 --> 00:03:44,960 جبکہ دونوں W اور فائلوں کو لکھنے کے لئے استعمال کیا جا سکتا ہے 68 00:03:44,960 --> 00:03:47,460 W فائل کے شروع سے ہی لکھنا شروع کریں گے 69 00:03:47,460 --> 00:03:50,810 اور ممکنہ طور پر کسی بھی ڈیٹا ادلیکھت ہو چکے ہیں جو کہ پہلے کیا گیا ہے ذخیرہ. 70 00:03:50,810 --> 00:03:54,070 ڈیفالٹ کی طرف سے، فائل ہم اگر یہ پہلے سے ہی موجود نہیں ہے کھول 71 00:03:54,070 --> 00:03:57,180 ہمارے موجودہ ورکنگ ڈائریکٹری میں پیدا کیا. 72 00:03:57,180 --> 00:04:00,540 تاہم، اگر ہم یا بنانے کے لئے ایک مختلف مقام میں ایک فائل تک رسائی حاصل کرنا چاہتے ہیں 73 00:04:00,540 --> 00:04:02,650 fopen کی پہلی دلیل 74 00:04:02,650 --> 00:04:05,840 ہم فائل کے نام کے علاوہ میں ایک فائل کا پاتھ کی وضاحت کر سکتے ہیں. 75 00:04:05,840 --> 00:04:09,490 اگرچہ اس عمل کا پہلا حصہ طویل عرصے سے کوڈ کا صرف ایک ہی لائن میں ہے، 76 00:04:09,490 --> 00:04:12,350 یہ ہمیشہ اچھی پریکٹس لائنوں کی ایک اور سیٹ بھی شامل 77 00:04:12,350 --> 00:04:15,930 کہ اس بات کا یقین کرنے کے لئے کہ فائل کامیابی سے کھول دیا گیا تھا یا پیدا چیک کرنے کے لیے. 78 00:04:15,930 --> 00:04:20,300 اگر fopen شہوت انگیز null واپس، ہم ہمارے پروگرام کو مزید آگے بڑھانے چاہتے ہیں نہیں کریں گے، 79 00:04:20,300 --> 00:04:23,270 اور یہ ہوگا اگر آپریٹنگ سسٹم میموری سے باہر ہے 80 00:04:23,270 --> 00:04:27,940 یا اگر ہم ایک ڈائریکٹری ہے جس کے لئے ہم مناسب اجازت نہیں تھا میں ایک فائل کھولنے کی کوشش کرتے ہیں. 81 00:04:27,940 --> 00:04:31,780 >> عمل کے دو حصہ ٹائپ رائٹر کی جبکہ لوپ میں جگہ لیتا ہے. 82 00:04:31,780 --> 00:04:35,000 ہم CS50 لائبریری تقریب کا استعمال کرتے ہیں صارف کی طرف سے ان پٹ حاصل کرنے کے لئے، 83 00:04:35,000 --> 00:04:37,190 سنبھالنے اور وہ پروگرام چھوڑ نہیں کرنا چاہتا، 84 00:04:37,190 --> 00:04:41,940 ہم تقریب کے fputs کو استعمال کرتے ہوئے سٹرنگ کو لینے کے لئے اور لکھنے کی فائل ہے. 85 00:04:41,940 --> 00:04:46,700 fputs صرف بہت سے افعال میں سے ایک ہم فائل کو لکھنے کے لئے استعمال کر سکتے ہیں ہے. 86 00:04:46,700 --> 00:04:51,920 دیگر میں fwrite، fputc، اور اس سے بھی fprintf شامل ہیں. 87 00:04:51,920 --> 00:04:54,840 سے قطع نظر ہم نے خاص طور پر تقریب کی کا استعمال کرتے ہوئے ختم، تاہم، 88 00:04:54,840 --> 00:04:57,480 ان میں سے سب کو پتہ کی ضرورت ہے، ان کے دلائل کے ذریعے، 89 00:04:57,480 --> 00:04:59,670 کم از کم دو چیزیں - 90 00:04:59,670 --> 00:05:03,140 لکھا جہاں یہ لکھا جائے گا کی ضرورت ہے کیا ضرورت ہے. 91 00:05:03,140 --> 00:05:07,240 ہمارے معاملے میں، ان پٹ سٹرنگ ہے کہ لکھا جائے کرنے کی ضرورت ہے ہے 92 00:05:07,240 --> 00:05:11,290 اور FP پوائنٹر کہ ہمیں جہاں ہم لکھ رہے ہیں کہ ہدایت ہے. 93 00:05:11,290 --> 00:05:15,330 اس پروگرام میں، عمل کے دو حصے کی بجائے براہ راست ہے. 94 00:05:15,330 --> 00:05:17,360 ہم صرف صارف سے ایک سٹرنگ لے رہے ہیں 95 00:05:17,360 --> 00:05:22,120 اور اس کے ساتھ براہ راست کو شامل کرنے سے ہماری فائل تھوڑا-نہیں. ان پٹ کی توثیق یا سیکورٹی چیکنگ میں 96 00:05:22,120 --> 00:05:26,160 تاہم اکثر، دو حصہ آپ کے کوڈ کا بڑا حصہ لیں گے. 97 00:05:26,160 --> 00:05:30,580 آخر میں، تین حصہ 58 لائن پر ہے، جہاں ہم نے فائل بند. 98 00:05:30,580 --> 00:05:34,860 یہاں ہم اس کے پاس ہماری اصل فائل پوائنٹر fclose کہتے ہیں. 99 00:05:34,860 --> 00:05:39,500 بعد لائن میں، ہم صفر واپس، ہمارے پروگرام کے آخر کا اشارہ ہے. 100 00:05:39,500 --> 00:05:42,630 اور، جی ہاں، تین حصہ اس کے طور پر کے طور پر آسان ہے. 101 00:05:42,630 --> 00:05:45,260 >> چلو فائلوں سے پڑھنے پر منتقل. 102 00:05:45,260 --> 00:05:48,220 پیچھے ہماری ڈائرکٹری میں ہم نے ایک فائل کہا جاتا printer.c ہے. 103 00:05:48,220 --> 00:05:50,910 یہ فائل ہم صرف پیدا کے ساتھ چلانے کے دو - 104 00:05:50,910 --> 00:05:53,350 doc.txt. 105 00:05:53,350 --> 00:05:58,150 یہ پروگرام، جیسا کہ نام سے پتہ چلتا ہے، صرف پرنٹ فائل کے مواد کو اس کے منظور کریں گے. 106 00:05:58,150 --> 00:06:00,230 اور ہم وہاں ہے. 107 00:06:00,230 --> 00:06:03,780 کوڈ کی لائنیں ہم پہلے ٹائپ تھا doc.txt میں محفوظ ہے. 108 00:06:03,780 --> 00:06:06,980 ہیلو. میرا نام Jason ہے. 109 00:06:06,980 --> 00:06:09,120 اگر printer.c میں ہم کودو، 110 00:06:09,120 --> 00:06:13,570 ہم دیکھتے ہیں کہ کے کوڈ کا ایک بہت کیا ہم صرف typewriter.c میں کے ذریعے واک کی طرح لگ رہا ہے. 111 00:06:13,570 --> 00:06:16,720 درحقیقت لائن 22، جہاں ہم نے فائل کو کھولا، 112 00:06:16,720 --> 00:06:19,220 اور 39 اوپر، جہاں ہم فائل کو بند کر دیا، 113 00:06:19,220 --> 00:06:23,890 دونوں تقریبا typewriter.c جیسی fopen دوسری دلیل کے لئے محفوظ کریں. 114 00:06:23,890 --> 00:06:26,510 اس بار ہم ایک فائل سے پڑھ رہے ہو، 115 00:06:26,510 --> 00:06:29,040 تو ہم W ر کا انتخاب کیا ہے بجائے. 116 00:06:29,040 --> 00:06:31,950 اس طرح، عمل کے دوسرے حصے پر توجہ مرکوز کریں. 117 00:06:31,950 --> 00:06:36,060 اوپر 35 میں، ہمارے 4 لوپ میں دوسری شرط کے طور پر، 118 00:06:36,060 --> 00:06:38,590 ہم fgets ایک فون کر، 119 00:06:38,590 --> 00:06:42,190 ساتھی پہلے سے fputs تقریب. 120 00:06:42,190 --> 00:06:44,660 اس وقت ہم نے تین دلائل ہیں. 121 00:06:44,660 --> 00:06:48,810 جہاں سٹرنگ محفوظ رکھا جائے گا حروف کی صف پر ہونے والی پہلی پوائنٹر ہے. 122 00:06:48,810 --> 00:06:52,670 دوسرے حروف کی زیادہ سے زیادہ تعداد میں پڑھا جائے گا ہے. 123 00:06:52,670 --> 00:06:56,010 اور تیسری فائل جس کے ساتھ ہم کام کر رہے ہیں پوائنٹر ہے. 124 00:06:56,010 --> 00:07:00,780 آپکو محسوس ہو کہ لوپ کے لئے ختم ہو جاتا ہے جب fgets شہوت انگیز null واپس کریں گے. 125 00:07:00,780 --> 00:07:02,940 دو وجہ ہے کہ یہ ہو سکتا ہے ہے. 126 00:07:02,940 --> 00:07:05,380 سب سے پہلے، ایک خرابی آگئی ہے کر سکتے ہیں. 127 00:07:05,380 --> 00:07:10,740 دوسری، اور زیادہ امکان، فائل کے آخر میں پہنچ گئی اور نہیں حروف کو پڑھا گیا گیا تھا. 128 00:07:10,740 --> 00:07:14,040 اگر آپ سوچ رہے دو افعال موجود ہیں، کہ ہمیں بتانے کے لئے کی اجازت 129 00:07:14,040 --> 00:07:17,160 جس وجہ سے یہ خاص طور پر لوڈ، اتارنا null پوائنٹر کی وجہ ہے. 130 00:07:17,160 --> 00:07:21,090 اور حیرت کی بات نہیں، کیونکہ وہ فائلوں کے ساتھ کام کرنے کے ساتھ کیا کرنا ہے، 131 00:07:21,090 --> 00:07:26,940 دونوں ferror خط F کے ساتھ کام اور feof تقریب کا آغاز. 132 00:07:26,940 --> 00:07:32,130 >> آخر میں، اس سے پہلے کہ ہم یہ نتیجہ اخذ، فائل تقریب کے اختتام پر کے بارے میں ایک فوری نوٹ 133 00:07:32,130 --> 00:07:36,690 جس، کے طور پر صرف ذکر feof کے طور پر کے وزٹرز کا ریکارڈ رکھا جائے گا ہے. 134 00:07:36,690 --> 00:07:41,550 اکثر آپ خود کو جبکہ اور loops کے لئے استعمال کرتے ہوئے آہستہ فائلوں کے ذریعے اپنے راستے کو پڑھنے کے کریں گے. 135 00:07:41,550 --> 00:07:45,790 اس طرح، آپ کو ان loops کو ختم کرنے کے لئے راستہ کی ضرورت کے بعد آپ ان فائلوں کے آخر تک پہنچ جائیں گے. 136 00:07:45,790 --> 00:07:50,510 آپ کے فائل پوائنٹر پر feof کو کال کر رہا ہے اور اگر یہ سچ ہے کو دیکھنے کے لئے جانچ پڑتال 137 00:07:50,510 --> 00:07:52,310 صرف ایسا کریں گے. 138 00:07:52,310 --> 00:07:59,820 اس طرح، حالت (feof (FP)!) کے ساتھ تھوڑی دیر کے لوپ ایک بالکل مناسب حل کی طرح لگتا ہے ہو سکتا ہے. 139 00:07:59,820 --> 00:08:03,770 تاہم کہنا ہے کہ، ہم ایک ہمارے ٹیکسٹ فائل میں چھوڑ لائن ہے. 140 00:08:03,770 --> 00:08:07,130 ہم اپنے جبکہ لوپ میں داخل کریں گے اور سب کچھ کام کے طور پر منصوبہ بندی کی جائے گا. 141 00:08:07,130 --> 00:08:12,750 اگلے کے ذریعے دور پر، ہمارے پروگرام اگر FP کی feof سچ ہے کو دیکھنے کے لئے جانچ پڑتال کرے گا، 142 00:08:12,750 --> 00:08:15,430 لیکن - اور یہ یہاں کو سمجھنے کے لئے اہم بات یہ ہے - 143 00:08:15,430 --> 00:08:17,770 یہ سچ نہیں ابھی تک. 144 00:08:17,770 --> 00:08:21,110 ایسا اس لئے ہے کیونکہ feof کا مقصد چیک کرنے کے لیے نہیں ہے 145 00:08:21,110 --> 00:08:24,400 اگر پڑھا تقریب کی اگلی کال فائل کے آخر مارا جائے گا، 146 00:08:24,400 --> 00:08:28,190 بلکہ چیک کرنے کے لیے یا فائل کے آخر میں نہیں جا چکا ہے پہنچ. 147 00:08:28,190 --> 00:08:30,140 اس مثال کی صورت میں، 148 00:08:30,140 --> 00:08:32,780 ہماری فائل کی آخری لائن پڑھنے مکمل طور پر ہموار طریقے سے جاتا ہے، 149 00:08:32,780 --> 00:08:36,210 لیکن پروگرام ابھی تک کہ ہم نے نے ہماری فائل کے آخر متاثر کیا ہے پتہ نہیں ہے. 150 00:08:36,210 --> 00:08:40,549 یہ نہیں ہے جب تک یہ ایک اضافی پڑھیں کرتا ہے کہ یہ فائل کے آخر کاؤنٹر ہے. 151 00:08:40,549 --> 00:08:43,210 اس طرح، صحیح حالت میں مندرجہ ذیل ہو گی: 152 00:08:43,210 --> 00:08:49,330 fgets اور اس کے تین دلائل - پیداوار، پیداوار کے سائز، اور FP - 153 00:08:49,330 --> 00:08:52,570 یہ نہیں کے برابر کے تمام لوڈ، اتارنا null. 154 00:08:52,570 --> 00:08:55,260 یہ نقطہ نظر ہم printer.c میں لے لیا ہے، 155 00:08:55,260 --> 00:08:57,890 اور اس معاملے میں، لوپ exits کے بعد 156 00:08:57,890 --> 00:09:04,290 آپ feof یا ferror اس لوپ باہر نکلنے کے لئے مخصوص استدلال صارف کو مطلع کرنے کے لئے کہہ سکتے ہیں. 157 00:09:04,290 --> 00:09:08,100 >> لکھنے اور ایک فائل سے پڑھنا اس کے سب سے بنیادی ہے، 158 00:09:08,100 --> 00:09:10,150 ایک سادہ عمل کا حصہ 3. 159 00:09:10,150 --> 00:09:12,530 سب سے پہلے، ہم فائل کو کھولنے. 160 00:09:12,530 --> 00:09:16,740 دوسری بات یہ کہ ہم اپنے فائل میں کچھ چیزیں رکھ یا اس میں سے کچھ چیزیں لے. 161 00:09:16,740 --> 00:09:19,200 تیسرے، ہم فائل کو بند کرو. 162 00:09:19,200 --> 00:09:21,170 پہلا اور آخری حصے میں آسان ہیں. 163 00:09:21,170 --> 00:09:23,920 درمیانی حصہ ہے جہاں مشکل چیزیں جھوٹ. 164 00:09:23,920 --> 00:09:27,760 اور اگرچہ ہم ہمیشہ ہڈ کے نیچے zeros اور ہیں کی ایک طویل ترتیب کے ساتھ کام کر رہے ہو، 165 00:09:27,760 --> 00:09:30,710 مدد جب تجرید کی پرت کو شامل کرنے کی کوڈنگ ہے 166 00:09:30,710 --> 00:09:35,350 جو کہ ایک ایسی چیز ہے جس پر زیادہ باریک بینی سے مشابہ ہے جو ہم دیکھ کرنے کے لئے استعمال کر رہے ہیں میں ترتیب دیتا ہے. 167 00:09:35,350 --> 00:09:39,570 مثال کے طور پر، اگر ہم ایک 24 بٹ بٹ نقشہ فائل کے ساتھ کام کر رہے ہیں، 168 00:09:39,570 --> 00:09:43,290 ہم امکان پڑھ جائے گا یا ایک وقت میں تین بائٹس لکھنے. 169 00:09:43,290 --> 00:09:46,450 اس صورت میں، اس کا کوئی مطلب اور مناسب وضاحت نام 170 00:09:46,450 --> 00:09:48,980 ایک struct کہ 3 بائٹس بڑی ہے. 171 00:09:48,980 --> 00:09:51,410 >> اگرچہ فائلوں کے ساتھ کام کرنے پیچیدہ لگ سکتا ہے، 172 00:09:51,410 --> 00:09:54,530 ان کے استعمال سے ہمیں واقعی قابل ذکر کچھ کرنا کرنے کی اجازت دیتا ہے ہے. 173 00:09:54,530 --> 00:09:58,880 ہم ہمارے پروگرام سے باہر دنیا کی حالت کو تبدیل کر سکتے ہیں، 174 00:09:58,880 --> 00:10:01,730 ہمیں کچھ ہے جو کہ ہمارے پروگرام کی زندگی سے باہر رہتے ہیں تشکیل دے سکتے ہیں، 175 00:10:01,730 --> 00:10:07,190 یا ہم کچھ بھی تبدیل کر سکتے ہیں اس سے پہلے ہمارے پروگرام چل رہا شروع تشکیل دے دیا گیا تھا. 176 00:10:07,190 --> 00:10:11,210 فائل کے ساتھ بات چیت سی میں ایک پروگرامنگ کی واقعی طاقتور حصہ ہے 177 00:10:11,210 --> 00:10:15,300 اور میں دیکھ کر کیا آپ کو اس کے ساتھ آنے والے کوڈ میں پیدا کرنے جا رہے ہیں کی حوصلہ افزائی کر رہا ہوں. 178 00:10:15,300 --> 00:10:19,770 میرا نام Jason Hirschhorn ہے. یہ CS50 ہے. 179 00:10:19,770 --> 00:10:21,770 [CS50.TV] 180 00:10:21,770 --> 00:10:25,940 >> [ہنسی] 181 00:10:25,940 --> 00:10:29,330 ٹھیک ہے. ایک لو. یہاں ہم چلے. 182 00:10:49,000 --> 00:10:52,140 جب ہم ایک فائل کے بارے میں سوچتے ہیں - اوہ >> رکو. معاف کیجئے گا. 183 00:10:52,140 --> 00:10:56,800 [ہنسی] ٹھیک ہے. 184 00:11:06,620 --> 00:11:09,970 وہاں ہے. 185 00:11:13,670 --> 00:11:16,310 ہم ایک فائل کی جب لگتا ہے کہ - 186 00:11:17,610 --> 00:11:20,710 جب آپ ایک فائل کے بارے میں سوچتے ہیں - ٹھیک ہے. مجھے بتاو جب تم تیار ہو. 187 00:11:20,710 --> 00:11:22,520 اوہ، بہت اچھا. 188 00:11:22,520 --> 00:11:26,180 ایک teleprompter سے پڑھنے اگرچہ لگ سکتا ہے - نہیں. میرا برا ہے.