سپیکر: اب تک، اس بات کا امکان ہے آپ کے پروگراموں کی سب سے زیادہ ہے کہ تھوڑا سا الپکالک کیا گیا ہے. آپ ماریو یا لالچی کی طرح ایک پروگرام چلاتے ہیں. یہ ہو سکتا ہے اشارہ، کچھ کرتا ہے کچھ معلومات کے لئے صارف، پردے پر کچھ پرنٹ پیداوار، لیکن اس کے بعد آپ کے پروگرام، ختم ہو گیا ہے جب وہاں کوئی ثبوت نہیں واقعی وہاں ہے یہ کبھی پہلی جگہ میں چلایا گیا تھا. مجھے یقین ہے، آپ کو چھوڑ دیا ہے ہو سکتا ہے، کا مطلب یہ ٹرمنل ونڈو میں کھولنے آپ کو آپ کی سکرین صاف تو، وہاں ہے یہ موجود ہے کہ واقعی کوئی ثبوت نہیں. ہم ذخیرہ کرنے کا ایک ذریعہ نہیں ہے مستقل معلومات، معلومات کہ ہمارے بعد موجود پروگرام چلا بند کر دیا ہے، یا ہم اس بات پر نہیں ہے. خوش قسمتی سے، اگرچہ، C کرتا ہے صلاحیت کے ساتھ ہمیں فراہم کو لاگو کرنے کی طرف سے ایسا کرنے کے لئے کچھ کہا ایک فائل، ایک ڈھانچہ ہے کہ بنیادی طور پر آپ کو دوگنا کرے گا کہ ایک فائل کی نمائندگی کرتا ہے آپ ہیں تو، آپ کے کمپیوٹر پر کلک کریں ایک گرافیکل یوزر ماحول کے لئے استعمال کیا جاتا ہے. عام طور پر کام کرتے وقت سی کے ساتھ، ہم اصل میں ہیں کے ساتھ کام کرنے جا رہا اشارہ فائل files-- کرنے stars-- تھوڑا سا کے لئے سوائے ہم ایک جوڑے کے بارے میں بات کرتے ہیں کے افعال میں سے ہے کہ فائل اشارہ کے ساتھ کام کرتے ہیں. تم سچ میں کھودا ہے کرنے کی ضرورت نہیں تفہیم اشارہ میں بہت گہری خود. ایک چھوٹا سا teeny سا نہیں ہے ہم ان کے بارے میں بات کریں گے جہاں، لیکن عام طور پر اشارہ فائل اور اشارہ، باہم مربوط کرتے ہوئے، بالکل ایک ہی بات نہیں ہے. اب میں جب کیا مطلب ہے میں مسلسل ڈیٹا ہے؟ مسلسل ڈیٹا کیا ہے؟ ہم اس کے بارے میں کیوں پرواہ کروں؟ کہ، مثال کے طور پر، کا کہنا ہے کہ آپ کو ایک پروگرام چلا رہے ہیں یا آپ کو دوبارہ ہے ایک ایک کھیل ہے کہ پروگرام، اور آپ کو ٹریک رکھنا چاہتے ہیں صارف کے اقدامات میں سے سب سے تو کچھ غلط ہو جاتا ہے کہ شاید تو، آپ کو اس کھیل کے بعد فائل ملاحظہ کر سکتے ہیں. کہ جب ہم مطلب ہے مسلسل ڈیٹا کے بارے میں بات. چل رہا ہے کے دوران میں آپ پروگرام، ایک فائل پیدا ہوتا ہے. اور جب آپ کے پروگرام چل رہا ہے بند کر دیا ہے، اس فائل کو اب بھی آپ کے سسٹم پر موجود. اور ہم اس میں نظر آتے ہیں اور اس کی جانچ پڑتال کر سکتے ہیں. اور تو ہے کہ پروگرام کے لئے قائم کیا جائے گا کچھ مسلسل ڈیٹا پیدا کیا ہے، پروگرام کے بعد کے اعداد و شمار موجود ہیں چل رہا ہے ختم ہو گیا ہے. اب کام ہے کہ ان افعال میں سے سب فائلوں کو پیدا کرنے اور توڑ کے ساتھ مختلف طریقوں سے ان معیاری io.h میں رہتے ہیں، جس میں ایک ہیڈر فائل ہے آپ کا امکان پونڈ رہا ہوں خوبصورت کے سب سے اوپر سمیت آپ کے پروگراموں کی زیادہ سے زیادہ تمام اس کا ایک پر مشتمل ہے کیونکہ ہمارے لئے سب سے زیادہ مفید افعال، بھی کی اجازت دیتا ہے کہ printf، معیاری io.h. میں رہتا ہے تو آپ کو شامل پونڈ کرنے کی ضرورت نہیں کوئی اضافی فائلوں شاید ترتیب میں فائل اشارہ کے ساتھ کام کرنے کے لئے. اب ہر ایک فائل پوائنٹر تقریب، یا ہر ایک فائل I / O، ان پٹ آؤٹ پٹ تقریب، ایک کے طور پر قبول کرتا ہے اس کے پیرامیٹرز یا آدانوں کی سوائے ایک فائل پوائنٹر ایک کے لئے، fopen کی، جس آپ کی فائل کو حاصل کرنے کے لئے استعمال کیا ہے پہلی جگہ میں پوائنٹر. لیکن تم نے کھول دیا ہے کے بعد فائل اور آپ کو فائل اشارہ ملتا ہے، آپ کو اس وقت کے طور پر ان کے پاس کر سکتے ہیں مختلف افعال کے دلائل ہم کے بارے میں بات کرنے کے لئے جا رہے ہیں آج، کے ساتھ ساتھ بہت سے دوسرے تاکہ آپ کو فائلوں کے ساتھ کام کر سکتے ہیں. تو چھ خوبصورت وہاں ہو عام بنیادی والوں آج ہم کے بارے میں بات کرنے کے لئے جا رہے ہیں. fopen کی اور اس کے ساتھی تقریب fclose کے، fgetc اور اس کے ساتھی تقریب fputc، اور fread اور اس ساتھی تقریب، fwrite کے. تو اس میں حق حاصل کرنے کی اجازت. fopen-- یہ کیا کرتا ہے؟ ٹھیک ہے، یہ ایک فائل کو کھولتا ہے اور یہ اس کے لئے آپ کو ایک فائل پوائنٹر فراہم کرتا ہے، تو آپ اس کا استعمال کر سکتے ہیں ایک دلیل کے طور پوائنٹر فائل دوسری فائل I / O افعال میں سے کسی کو. سب سے اہم بات fopen کی کے ساتھ یاد کرنے آپ کھول دیا ہے اس کے بعد فائل یا یہاں ایک طرح ایک فون کر دیا، آپ کو یقینی بنانے کے لئے جانچ پڑتال کرنے کی ضرورت ہے کہ آپ کو واپس مل گیا کہ پوائنٹر شہوت انگیز null برابر نہیں ہے. آپ کو ویڈیو پر دیکھا نہیں کیا ہے تو اشارہ، اس معنی نہیں بنا سکتا. لیکن آپ کوشش کریں اور dereference ہے تو شہوت انگیز null پوائنٹر یاد، آپ کے پروگرام شاید متاثر ہو گی ایک انقطاع [اشراوی]. ہم اس بات کو یقینی بنانا چاہتے ہیں ہم ایک جائز پوائنٹر واپس مل گیا. وقت کی وسیع اکثریت ہم واپس ایک جائز پوائنٹر ہو گئی ہے اور یہ ایک مسئلہ نہیں ہو گا. تو ہم کس طرح ایک کال fopen پر کروں؟ یہ اس طرح بہت زیادہ لگتا ہے. ایک عام کیا جا رہا ہے PTR ptr-- فائل ستارہ پوائنٹر fopen کی فائل کا نام اور ہم دو چیزوں میں ایک فائل کا نام منتقل اور آپریشن ہم شروع کرنے کے لئے چاہتے ہیں. تو ہم طرح لگتا ہے کہ ایک کال ہو سکتا ہے this-- فائل سٹار PTR 1 fopen کی برابر file1.txt. اور مجھے انتخاب کیا ہے آپریشن ر ہے. تو کیا آپ R یہاں ہے؟ ان چیزوں کی قسم کیا ہیں ہم فائلوں کو ایسا کرنے کے قابل ہو سکتا ہے؟ تو R آپریشن ہے کہ ہم ہم ایک فائل کو پڑھنے کے لئے چاہتے ہیں جب منتخب کریں. تو ہم بنیادی طور پر جب گے ہم اس طرح ایک کال خود کو ایک فائل پوائنٹر ہو رہی اس کے بعد ہم معلومات کو پڑھنے کے کر سکتے ہیں کہ اس طرح کے file1.txt سے. اسی طرح، ہم فائل کھول سکتے 2.txt ptr2 لکھنے کے لئے اور ہم منتقل کر سکتی ہیں، میں یہاں پیدا کیا ہے فائل پوائنٹر، کسی بھی تقریب میں ایک دلیل کے طور پر اس ایک فائل میں معلومات لکھتے ہیں. اور لکھنے کے لئے اسی طرح، وہاں ہے بھی آپشن، شامل کرنے کے لئے. کے درمیان فرق لکھنے اور appending کی ہونے کی وجہ سے آپ کو ایک فائل کو لکھنا ہے کہ جب، آپ لکھنے کے لئے fopen پر ایک کال دے تو اور اس فائل پہلے سے ہی ہے، موجود پوری فائل ادلیکھت کرنے کے لئے جا. یہ شروع کرنے کے لئے جا رہا ہے بہت شروع میں، تمام معلومات کو خارج کہ پہلے سے ہی موجود ہے. آپ appending کے لئے اس کو کھولنے جبکہ اگر، یہ فائل کے آخر میں جائیں گے پہلے سے متن موجود نہیں ہے تو یا اس کے بارے میں معلومات، اور اس کے بعد شروع ہو جائے گا وہاں سے تحریری طور پر. تو تم میں سے کوئی محروم نہیں کرے گا تم سے پہلے کیا ہے کے بارے میں معلومات. آپ کو لکھنے یا شامل کرنے کے لئے چاہتے ہیں قسم کی صورت حال پر منحصر ہے. لیکن آپ کو شاید کیا پتہ چل جائے گا وقت آتا ہے جب حق آپریشن ہے. تاکہ fopen کی ہے. کیا fclose کے بارے میں؟ ویسے، خوبصورت بس، fclose کے صرف فائل پوائنٹر قبول کرتا ہے. اور آپ توقع کر سکتے، یہ فائل بند. ہم ایک فائل بند کر دیا ہے اور ایک بار، ہم نہیں کر سکتے ، کوئی زیادہ فائل I / O افعال انجام پڑھنے یا اس فائل پر، تحریری طور پر. ہم دوبارہ کھولنے کے لئے ہے ترتیب میں ایک بار فائل کے ساتھ کام جاری رکھنے کے لئے یہ I / O افعال کا استعمال کرتے ہوئے. ہم کیا کر رہے ہیں تو fclose کے اسباب اس فائل کے ساتھ کام کر رہے ہیں. اور ہم میں منتقل کرنے کی ضرورت ہے ایک فائل پوائنٹر کے نام. ایک جوڑے پہلے سلائڈ پر تو، ہم پڑھنے کے لئے fopened فائل 1 ڈاٹ ٹیکسٹ اور ہم اس تفویض ptr1 پوائنٹر فائل. اب ہم ہیں کا فیصلہ کیا ہے اس فائل سے پڑھنے کیا. ہم اس کے ساتھ کوئی ایسا کرنے کی ضرورت نہیں. ہم صرف fclose ptr1 کر سکتے ہیں. اور اسی طرح، ہم کر سکتے تھے دوسرے لوگ fclose کے. بالکل ٹھیک. تو اس افتتاحی اور اختتامی ہے. ان دو بنیادی ہیں آپریشن شروع. اب ہم اصل میں کرنا چاہتے ہیں کچھ دلچسپ چیزیں، اور سب سے پہلے تقریب کہ ہم کریں گے کہ fgetc-- ہے کہ کیا کریں گے دیکھیں ایک کردار حاصل دائر. یہ عام طور پر fgetc کیا ہے کا ترجمہ کریں گے. زندگی میں اس مقصد کے لئے ہے اگلے کردار کو پڑھنے کے، یا یہ آپ کی بہت ہے fgetc کو پہلی کال ایک مخصوص فائل کے لئے، پہلے کردار. لیکن پھر اس کے بعد، آپ کو اگلے ایک حاصل اس فائل کے اگلے کردار، ایک کردار متغیر میں اور دکانوں یہ. ہم یہاں کیا ہے کے طور پر، چار چوہدری، fgetc برابر ایک فائل پوائنٹر کے نام میں گزرے. ایک بار پھر، یہ بہت ہے یاد کرنے کے لئے یہاں اہم حکم میں ہے کہ اس آپریشن کامیاب، فائل پوائنٹر خود ہوگا پڑھنے کے لئے کھول دیا گیا. ہم ایک فائل سے ایک کردار کو نہیں پڑھ سکتے ہم لکھنے کے لئے کھول دیا ہے کہ پوائنٹر. تو اس میں سے ایک ہے fopen کی حدود، ٹھیک ہے؟ ہم محدود کرنا پڑے خود صرف کارکردگی کا مظاہرہ کرنے کے لئے ایک فائل پوائنٹر کے ساتھ ایک آپریشن. ہم پڑھنے کے لئے چاہتا تھا، تو اور ایک ہی فائل سے لکھنے، ہم کھلے دو الگ الگ ہوگا اسی فائل فائل اشارہ پڑھنے کے لئے ایک، لکھنے کے لئے ایک. تو ایک بار پھر، صرف ایک وجہ میں ہے کہ اب تک لانے ہم نے ایک کال کرنے کے لئے جا رہے ہیں کیونکہ fgetc، کہ فائل پوائنٹر ہوگا پڑھنے کے لئے کھول دیا گیا. اور پھر خوبصورت بس، ہم سب کرنے کی ضرورت ہے فائل پوائنٹر کے نام میں گزرے ہے. تو چار چوہدری fgetc ptr1 برابر. یہ حاصل کرنے کے لئے جا رہا ہے اگلے character-- یا پھر یہ سب سے پہلے، ہے ہم اس کال کر دیا ہے وقت، کی پہلی character-- جو فائل ptr1 کی طرف سے نشاندہی کی ہے. اس فائل 1 ڈاٹ متن تھا کہ یاد. یہ اس کے پہلے کردار کو حاصل کریں گے اور ہم متغیر چوہدری میں محفوظ کر لیں گے. خوبصورت براہ راست. تو ہم صرف تین میں دیکھا ہے کام کرتا ہے اور ہم نے پہلے ہی خوبصورت بدیا کچھ کر سکتے ہیں. ہم اس کی صلاحیت لے تو ایک کردار حاصل کرنے کے اور ہم لوپ تو اندازہ لگانے والے ہم حروف حاصل کرنے کے لئے جاری ایک فائل سے زیادہ اور زیادہ اور ختم ہو چکا اب ہم ہر ایک کو پڑھ سکتے ہیں ایک فائل کے کردار. اور ہم نے ہر کردار پرنٹ ہم نے اسے پڑھا کے فورا بعد، اب ہم ایک فائل سے پڑھ لیا ہے اور سکرین پر اس کے مندرجات پرنٹ. ہم مؤثر طریقے سے لئے concatenated ہے سکرین پر اس فائل. اور یہ کہ کیا ہے لینکس کمانڈ بلی کرتا ہے. آپ فائل کے نام میں بلی ٹائپ کریں، تو یہ مکمل مواد کو پرنٹ آپ کے ٹرمنل ونڈو میں فائل کے. اور اس طرح یہاں اس چھوٹے لوپ، کوڈ کا صرف تین لائنوں، لیکن یہ مؤثر طریقے نقلیں لینکس کمانڈ بلی. تو یہ نحو طاقت ، ایک چھوٹا سا عجیب نظر لیکن یہاں کیا ہو رہا ہے. چوہدری fgetc برابر جبکہ، PTR نہیں ہے یہ ایک پوری گراس ہے EOF-- کے برابر، لیکن یہ صرف ٹوٹ تو یہ نحو پر واضح ہے. میں نے اس کے مضبوط ہے جگہ کی خاطر، یہ ایک چھوٹا سا ہے، اگرچہ syntactically ہے مشکل. تو سبز حق میں اس حصے اب، یہ کیا کر رہی ہے؟ ٹھیک ہے، یہ صرف ہمارے fgetc کال، ٹھیک ہے؟ ہم سے پہلے کہ دیکھا ہے. یہ ایک حاصل ہے فائل سے کردار. اس کے بعد ہم اس کا موازنہ مسل اختتام کے خلاف کردار. مسل اختتام ہے کہ ایک خاص قدر ہے معیاری io.h، میں وضاحت کی گئی ہے جس میں فائل کردار کے آخر ہے. تو بنیادی طور پر ہونے جا رہا ہے اس لوپ ایک کردار پڑھ جائے گا ہے، ، EOF پر اس کا موازنہ فائل کردار کے اختتام. وہ میچ نہیں کرتے ہیں تو، تو ہم نہیں ہے ، فائل کے آخر تک پہنچ ہم اس کردار سے باہر پرنٹ کریں گے. پھر ہم واپس چلے جائیں گے پھر لوپ کے شروع. ہم نے ایک کردار ملے گا، چیک مسل اختتام کے خلاف، تو اسے باہر پرنٹ، اور اور اسی طرح اور اسی طرح، اس طرح میں کے ذریعے looping ہم فائل کے آخر تک پہنچ گئے ہیں جب تک. اور پھر اس نقطہ کی طرف سے، ہم پرنٹ کیا جائے گا فائل کی مکمل مواد کو باہر. تو ایک بار پھر، ہم صرف دیکھا ہے fopen کی، fclose کے، اور fgetc اور پہلے ہی ہم نقل کر سکتے ہیں ایک لینکس ٹرمینل کمانڈ. میں نے شروع میں کہا کہ، ہم fgetc اور fputc تھا، اور fputc ساتھی تھا fgetc کی تقریب. اور اس طرح، کے طور پر آپ، تصور کر سکتے ہیں یہ لکھنے کے برابر ہے. اس سے ہمیں ایک لکھنے کے لئے کی اجازت دیتا ہے ایک فائل میں ایک کردار. ایک بار پھر، انتباہ کیا جا رہا ہے، صرف یہ fgetc ساتھ تھا جیسے، فائل ہم ہوگا لئے لکھ رہے ہیں کہ کیا گیا لکھنے کے لئے یا appending کے لئے کھول دیا. ہم کوشش کرتے ہیں اور ایک فائل پر fputc استعمال کرتے ہیں تو ہم پڑھنے کے لئے کھول دیا ہے کہ، ہم شکار کرنے کے لئے جا رہے ہیں ایک غلطی کا تھوڑا سا. لیکن کال بہت آسان ہے. fputc دارالحکومت ptr2، تمام ایسا کرنے کے لئے جا رہا ہے یہ ہے خط لکھنے کے لئے جا ایک فائل میں 2 نقطہ میں کا نام تھا جس کے متن، کھولا اور تفویض اس فائل پوائنٹر ptr2 کرنے. تو ہم نے ایک لکھنے کے لئے جا رہے ہیں دارالحکومت 2 ڈاٹ ٹیکسٹ فائل میں. اور ہم نے ایک فجائیہ لکھیں گے 3 نقطہ فائل کی طرف اشارہ ptr3 کی طرف سے نشاندہی کی گئی تھی جس کے متن،. تو ایک بار پھر، یہاں خوبصورت براہ راست. لیکن اب ہم ایک بات کر سکتے ہیں. ہم اس مثال ہے ہم صرف جا رہے تھے بلی نقل تیار کرنے کے قابل ہونے کے بارے لینکس کمانڈ، باہر پرنٹ ہے کہ ایک سکرین پر. ٹھیک ہے، اب ہم صلاحیت ہے کہ فائلوں سے حروف کو پڑھنے کے لئے اور، فائلوں کو حروف لکھنا کیوں ہم صرف اس متبادل نہیں ہے fputc کے لئے ایک کال کے ساتھ printf پر کال. اور اب ہم CP نقل ہے، ایک بہت ہی بنیادی لینکس کمانڈ ہم راستہ طویل کے بارے میں بات ہے کہ پہلے لینکس میں ویڈیو کا حکم. ہم مؤثر طریقے سے ہے یہیں کہ نقل. ہم نے ایک کردار پڑھ رہے ہیں اور پھر ہم ہیں ایک فائل میں ہے کہ کردار لکھنا. ایک فائل سے پڑھنے، لکھنے اور اس سے زیادہ دوسرے سے اور پھر ہم EOF مارا جب تک. ہم کے اختتام کرنے کے لئے ہے فائل ہم سے کاپی کرنے کے لئے کوشش کر رہے ہیں. اور اس سے ہم سب لکھا ہے گا حروف کی ہم فائل کی ضرورت ہے ہم لکھ رہے ہیں. تو اس CP، لینکس کاپی حکم ہے. کے آغاز میں اس ویڈیو میں انتباہ تھا ہم بات کریں گے کہ اشارہ کے بارے میں تھوڑا سا. ہم ہیں جہاں یہاں خاص طور پر ہے اشارہ کے بارے میں بات کرنے جا رہا اس کے علاوہ میں اشارہ دائر کرنے. تو اس تقریب قسم کی خوفناک لگ رہا ہے. یہ کئی پیرامیٹرز ہے. یہاں کیا ہو رہا ایک بہت ہے. مختلف کی ایک بہت کچھ ہے رنگ اور نصوص. لیکن واقعی، یہ صرف ہے fgetc کے عام ورژن کہ ہمیں کسی بھی حاصل کرنے کے لئے کی اجازت دیتا ہے معلومات کی رقم. یہ ہم ہیں تو تھوڑا سا غیر فعال ہو سکتا ہے ایک وقت میں حروف ایک ہو رہی ہے، فائل کے ذریعے iterating کر ایک وقت میں ایک کردار. اسے حاصل کرنے کے اچھے نہیں ہو گا ایک وقت میں ایک بار یا 500 پر 100؟ ویسے، fread کے اور اس کے ساتھی تقریب fwrite کے، ہم جس کے بارے میں بات کریں گے ایک سیکنڈ میں، ہم صرف اس لئے کہ ایسا کرنے کی اجازت. ہم ایک صوابدیدی رقم پڑھ سکتے ہیں ایک فائل سے معلومات کے اور ہم کہیں اسے عارضی طور پر ذخیرہ. اس کی بجائے صرف کرنے کے قابل ہونے کی وجہ سے ایک متغیر میں فٹ، ہم ایک صف میں ذخیرہ کرنے کے لئے ضرورت ہو سکتی ہے. اور اس طرح، ہم نے چار میں منتقل دلائل ایک پوائنٹر fread-- سے ہم ہیں جہاں مقام پر معلومات جمع کی جا رہی، کس طرح کے بارے میں معلومات میں سے ہر ایک یونٹ بڑے ہو جائے گا، معلومات کے لئے کس طرح بہت سے یونٹس ہم حاصل کرنا چاہتے ہیں، اور کی طرف سے جو فائل ہم ان کو حاصل کرنے کے لئے چاہتے ہیں. شاید سب سے بہترین سچتر یہاں ایک مثال کے ساتھ. تو ہم اعلان ہے کہ کا کہنا ہے کہ 10 integers کے ایک صف. ہم صرف پر اعلان کر دیا منمانے اسٹیک آمد 10 int کی. تاکہ بہت سیدھا ہے. اب کیا ہم اگرچہ کر رہے ہیں ہے frecall ہم int کے سائز پڑھ رہے ہیں ہے اوقات معلومات کی 10 بائٹس. INT وجود کا سائز ہے four-- C میں ایک عددی کے سائز. تو کیا ہم کر رہے ہیں ہم پڑھ رہے ہیں معلومات کی مالیت 40 بائٹس فائل سے PTR کی طرف سے کی طرف اشارہ کیا. اور ہم ان کو ذخیرہ کرنے کر رہے ہیں 40 بائٹس کہیں ہم ایک طرف مقرر کیا ہے جہاں میموری کی مالیت 40 بائٹس. خوش قسمتی سے، ہم نے پہلے ہی کی طرف سے کیا ہے اس صف وہیں، آمد کا اعلان کیا. یہ انعقاد کی صلاحیت رکھتا ہے 10 چار بائٹ یونٹس. کل میں، یہ 40 پکڑ کر سکتے ہیں بائٹس معلومات کی مالیت. اور اب ہم 40 بائٹس پڑھ رہے ہیں فائل سے معلومات کی، اور ہم آمد میں ذخیرہ کرنے کر رہے ہیں. اشارہ پر ویڈیو سے یاد ہے کہ اس طرح آمد طور پر ایک سرنی، کے نام، واقعی صرف ایک پوائنٹر ہے اپنی پہلی عنصر. تو ہم وہاں آمد میں منتقل جب، ہم ایک پوائنٹر میں گزر، حقیقت میں، ہیں. اسی طرح ہم this-- کر سکتے ہیں ہم ضروری نہیں ہے اسٹیک پر ہمارے بفر کو بچانے کے لئے کی ضرورت ہے. ہم نے بھی متحرک طور پر مختص کر سکتے ہیں ایک malloc استعمال کرتے ہوئے، اس طرح بفر. جب ہم یاد رکھیں متحرک طور پر میموری مختص، ہم پر بچت کر رہے ہیں ڈھیر، اسٹیک نہیں. لیکن یہ اب بھی ایک بفر ہے. یہ اب بھی، اس صورت میں، ہے معلومات کے 640 بائٹس انعقاد ایک ڈبل آٹھ بائٹس تک لے جاتا ہے کیونکہ. اور ہم نے ان میں سے 80 کے لئے پوچھ رہے ہیں. ہم نے خلا کرنا چاہتے ہیں 80 ڈبلز منعقد کرنے. تو 80 بار 8 640 بائٹس معلومات ہے. اور fread ہے کہ کال ہے معلومات کے 640 بائٹس جمع فائل کی طرف سے کی طرف اشارہ سے PTR اور arr2 میں ذخیرہ کرنے. اب ہم بھی fread کے علاج کر سکتے ہیں صرف fgetc کرنے کے لئے ایک کال کی طرح. اس صورت میں، ہم صرف کرنے کے لئے کوشش کر رہے ہیں فائل سے ایک کردار ملتا ہے. اور ہم نے ایک کی ضرورت نہیں ہے سرنی ایک کردار کو منعقد کرنے. ہم صرف اس میں محفوظ کر سکتے ہیں ایک کردار متغیر. پکڑنے، اگرچہ، ہے ہم صرف ایک متغیر ہے جب، ہم میں منتقل کرنے کی ضرورت کہ متغیر کا پتہ یاد ہے کیونکہ fread کے لئے سب سے پہلے دلیل محل وقوع اور یاد میں ایک پوائنٹر ہے ہم معلومات ذخیرہ کرنے کے لئے چاہتے ہیں، جہاں. ایک بار پھر، ایک کا نام سرنی ایک پوائنٹر ہے. تو ہم ایمپرسینڈ سرنی کرنے کی ضرورت نہیں. لیکن C، کردار C یہاں، ایک سرنی نہیں ہے. یہ صرف ایک متغیر ہے. اور اس طرح ہم ایک منتقل کرنے کی ضرورت ایمپرسینڈ C نشاندہی کرنے کے لئے کہ ہم چاہتے ہیں جہاں پتہ ہے کہ معلومات کے اس ایک بائٹ ذخیرہ کرنے کے لئے، یہ ایک کردار ہے کہ ہم PTR سے جمع کر رہے ہیں. میں کے ذریعے جائیں گے Fwrite-- یہ ایک چھوٹا سا زیادہ quickly-- بہت زیادہ ہے fread کے کے عین مطابق برابر یہ لکھنے کے لئے ہے سوائے بجائے پڑھنے کے، صرف other-- طرح ہم کھلے پڑا ہے اور قریبی، ایک کردار حاصل، ایک کردار لکھنا. اب یہ صوابدیدی حاصل ہے معلومات کی رقم، معلومات کا حق صوابدیدی رقم. تو پہلے کی طرح، ہم کر سکتے ہیں 10 integers کے ایک صف ہے جہاں ہم نے پہلے ہی ہے معلومات شاید، ذخیرہ. شاید یہ کوڈ کے کچھ لائنز تھا کہ ان دونوں کے درمیان جانا چاہئے میں اس کے ساتھ آمد بھرنے جہاں بامعنی کچھ. میں 10 مختلف integers کے ساتھ اس کو بھرنے. اور اس کے بجائے، میں کیا ہوں کر آمد سے لکھ رہا ہے اور آمد سے معلومات جمع کرنے. اور میں اس کے بارے میں معلومات لے جا رہا ہوں اور فائل میں ڈال. تو بجائے اس سے ہونے کی وجہ سے بفر فائل، اب ہم سے جا رہے ہیں فائل میں بفر. تو یہ صرف ریورس ہے. پہلے کی طرح تو پھر،، ہم کر سکتے ہیں بھی میموری کا ایک ڈھیر حصہ ہے ہم کو متحرک طور پر ہے کہ مختص اور اس سے پڑھیں اور فائل کے لئے لکھتے ہیں کہ. اور ہم بھی ایک متغیر ہے ایک بائٹ انعقاد کے قابل اس طرح ایک کردار کے طور پر کے بارے میں معلومات، کے. لیکن ایک بار پھر، ہم میں منتقل کرنے کی ضرورت کہ متغیر کا پتہ ہم اس سے پڑھنے کے لئے چاہتے ہیں جب. تو ہم معلومات لکھ سکتے ہیں ہم نے اس پتے پر مل فائل پوائنٹر، PTR. دوسرے کے بہت ہے عظیم فائل I / O افعال اس کے علاوہ مختلف باتیں کرتے ہیں لوگ ہم آج کے بارے میں بات کی ہے. ہیں کے ایک جوڑے آپ کے لئے مفید ہو سکتا ہے fgets اور fputs ہیں، جو برابر ہیں fgetc اور fputc لیکن پڑھنے کے لئے ایک فائل سے ایک سٹرنگ. اس کی بجائے ایک واحد کردار کی، یہ ایک پورے سٹرنگ پڑھیں گے. بنیادی طور پر کی اجازت دیتا ہے fprintf، آپ فائل کو لکھنے کے لئے printf کا استعمال کرنے کے لئے. آپ ایسا کر سکتے ہیں جیسا کہ استعمال متغیر مبدل جگہ دار فیصد میں اور printf کے ساتھ فیصد D، اور اسی طرح، آپ اسی طرح لے جا سکتے ہیں printf کے سٹرنگ اور پرنٹ کچھ ایک فائل میں اس طرح. fseek-- آپ کو ایک ڈی وی ڈی پلیئر ہے میں عام طور پر یہاں استعمال قیاس ہے قسم کا استعمال کرتے ہوئے کی طرح ہے آپ ماضی اور تیزی سے آگے بٹن فلم کے ارد گرد منتقل کرنے کے لئے. اسی طرح، آپ کو فائل کے ارد گرد منتقل کر سکتے ہیں. اندر چیزوں میں سے ایک کہ فائل کی ساخت آپ ایک اشارے ہے کہ ج تخلیق جہاں آپ کو فائل میں ہیں. آپ کو بہت اوپر ہیں بائٹ صفر پر، آغاز؟ آپ بائٹ 100 ہیں، بائٹ 1،000، اور اسی طرح؟ آپ منمانے منتقل کرنے کے لئے استعمال کر سکتے ہیں fseek آگے یا پیچھے ہے کہ اشارے. اور پھر، ftell ڈی وی ڈی پلیئر کی طرح، بتاتا ہے کہ ایک چھوٹی سی گھڑی کی طرح ہے آپ کے پاس کتنے منٹ اور سیکنڈ آپ ایک خاص طور پر فلم میں ہیں. اسی طرح، آپ کو کس طرح بتاتا ftell بہت بائٹس آپ کو فائل میں ہیں. feof کو ایک مختلف ورژن ہے آپ کو کیا ہے یا پتہ لگانے فائل کے آخر تک پہنچ. اور ferror ایک تقریب ہے آپ استعمال کر سکتے ہیں کچھ ہے کہ آیا پتہ لگانے کے لئے ایک فائل کے ساتھ غلط کام کر رہے ہیں چلے گئے. ایک بار پھر، یہ صرف ہے سطح scratching. بہت زیادہ فائل I / O وہاں اب بھی ہے معیاری io.h. میں کام لیکن یہ شاید آپ کو ملے گا فائل اشارہ کے ساتھ کام کرنا شروع کیا. میں ڈوگ لایڈ ہوں. یہ CS50 ہے.