 بسم اللہ الرحمن الرحیم، آج ہم موڈیول 14 کو دیسکس کریں گے موڈیول 14 ہمیں یہ بتا رہے کہ آپ فائلس کو کیسے ریڈ اور رائٹ کر سکتے ہیں پیویس لی بھی ہم نے سرطن ایسے ایک زمپل سے use کی تھی جسکنہ فائلس کو ریڈ اور رائٹ کیا تھا using windows API's ہم انی API's کو دیسکس کریں گے لیکن تھوڑا ہم ڈیٹیل کے ساتھ دیسکس کریں گے اس کے اندر نمبر of پیرامیٹرز ہیں ان پیرامیٹرز کی ڈیٹیل سوڑ کے ڈیٹیل کا مینngز کو ہم ڈیسکس کریں گے�ئی دیکھتے ہیں ڈیٹیل کی API کی اندر آپ دیکھ سوٹیںions ڈیٹ least جس میکہ فائل ہیں بفسوری ہے جب فائل کو ڈیٹ کریں conversations ڈیٹ فائل fatigue قیناذہ تو آپ کو کچھ ایک دو پوڈنٹس جویں پرنسپلس جویں وہ سمجھنے کی ضرورتا ہے پہلہ پرنسپل تو یہ ہے کہ جب بھی فائل آپ ریڈ کے لیے اوپن کریں گے اگر فائل کنکرنٹلی ریڈ نہیں ہو رہی اگر ہم فلال ازیم کریں گے کنکرنٹلی ریڈ نہیں ہو رہی ایک ہی فائل ہینڈل اس کا exist کرتا اور آپ اس فائل کو ریڈ کرنا چاہ رہے ہیں تو کہاں سے ریڈ ہو گا ریڈ فائل کی مدس ہے جہاں پہ کرنٹ پوزیشن ہے جہاں پہ پوائنٹ کر رہا ہے وہاں سے ریڈ کرنا شروع ہو گا اگر آپ کسی اور پوزیشن سے ریڈ کرنا جاتے ہیں تو آپ کو پوانٹر کی پوزیشن جو ہے وہ چینج کرنی پڑے گی اگر آپ بالکل فائل کے انڈبے اور فائل کو ریڈ کرنے کی کوشش کرتے ہیں تو یہ کوئی ایک سپشن نہیں ہے کوئی ایرر نہیں ہے آپ کر سکتے ہیں لیکن اس کس کے اندر ایکشلی جو نمبر of bytes ریڈ ہوگے وہ زیر ہوگا اور آپ کا جو ویڈیبل ہے np نمبر of bytes ریڈ اس کے اندر 0 ڈیٹان ہوگا اس کی value کے اندر 0 ڈیٹان ہوگا یہ فنکشن صرف اسی صورت میں فائل ہوگا اگر آپ نے اس کے اندر پیرمیٹرس پاس کیا ہے وہ انویلڈ ہے for example جو فائل حنڈل پاس کیا اگر وہ انویلڈ ہے تو یہ فنکشن فائل ہو جائے گا اب اس کے پیرمیٹرس دیکھتے ہیں سب سے پیرمیٹر ایچ فائل ایچ فائل جو وہ فائل حنڈل ہے جو فائل حنڈل آپ نے ڈیٹ فائل کی مدہ سے ڈیٹ کیا تو آپ کے پاس یہ فائل حنڈل آگیا lp buffer lp buffer ایک ڈیٹان ہوگی long pointer lp void type ایک ڈیٹان ہوگا یہ ایک ڈیٹان ہوگی اس ڈیٹان کے اندر سارا ڈیٹاہ کے ڈیٹان ہوگا جو آپ فائل میں سے ڈیٹان کر رہے ہیں جتنے بھی bytes آپ اس کو کہیں گے اتنے bytes اس ڈیٹان کے اندر آگے ڈیٹان ہوگا نمبر of bytes to read یہ ایک ڈبلورڈ ہے اس کے اندر آپ ڈیٹان کریں گے کہ اس فائل میں سے آپ نے actually کتنے bytes ڈیٹ کرنے تو وہ bytes جو ہے اس ڈیٹان کے اندر آپ کو ڈیٹان کرنے گے اب for example آپ ایک فائل ڈیٹان کرتے ہیں آپ کہتے ہیں جو میں نے 1000 bytes ڈیٹ کرنے لیکن اگر اس فائل کے اندر 1000 bytes نہیں اسے ہنڈر ہے تو 1000 نہیں ڈیٹ ہو سکتے کتنے read ہوں گے ڈیٹ ہندر ڈیٹ ہوں گے تو actually جو number of bytes read ہاں that is 100 اس ڈیٹان کے اندر ڈیٹان کے اندر ڈیٹان کے اندر کیا value آئے گی 100 آئے گے that is the actual number of bytes جو کہ آپ نے فائل میں سے read کیا ڈیٹان میں use ہوگا جب آپ ڈیٹان پر پروسیسنگ پر فرم کر رہے ہیں تو اگر نہیں کر رہے تو آپ اس کو null رکھ سکتے ہیں اب اسی طرح ہماری right ڈیٹان کی API ہے right ڈیٹان کی API read ڈیٹان سے بلکل تقریبا سملہ رہا ہے صرف اس میں ڈیٹان کا فرق پر پڑتا ہے read ڈیٹان کے کیس میں آپ ڈیٹان سے ڈیٹان رہے ہیں right ڈیٹان کے کیس میں آپ ڈیٹان سے ڈیٹان اٹھا کے ڈیٹان کے اندر ڈیٹان پر پڑتا ہے صرف ڈیٹان کا فرق ہے API کے جو پرمیٹرز ہیں وہ more or less اسی طرح ہیں تو آپ دیکھ سکتے ہیں بلکل سمیلہ اس کے اندر پرمیٹر لسٹ ہے جو پہلا پرمیٹر فائل ہندر ہے دوسرا پرمیٹر is the buffer buffer کا ڈیٹان سے long pointer to buffer تیسرہ نمبر of bytes to right ڈیٹان کے کیس میں نمبر of bytes to right ڈیٹان ہے actually جو bytes آپ نے buffer میں سے bytes آپ نے ڈیٹان پر ڈیٹان کرنے اور ضروری نہیں ہوتا کہ اتنے بائٹس ڈیٹان ہو سکتے اتنی ڈیٹسپیس ڈیٹان ہوں تو جتنے actually right ڈیٹان ہوں وہ آپ کو کس میں ملیں گے ڈیٹان ڈیٹان اس ویریویل کے اندر جو actual ڈیٹان ڈیٹان ہوں وہ آجائیں گے اور اسی طرح ڈیٹان ڈیٹان ڈیٹان that is used for concurrent processing آپ اس کو نال رکھ سکتے ہیں یہاں پہاں ایک اور چیز ایک اور point سمجھنے کی ضرورت ہے کہ اگر آپ right through کرنا چاہا رہے ہیں right through کا مطلب ہے جو فائل جس پہ آپ right کر رہے ہیں اس کا جو current ڈیٹان ڈیٹان اس current ڈیٹان کے beyond اگر آپ right کرنا چاہتے ہیں تو آپ کو یہ فلاگ file flag right through file کو open کرتے وقت create file کے time کے وپر یہ فلاگ جو ہے specify کرنا پڑے گا یہ flag specify کریں گے تو اس کے actual size کے beyond آپ right کر سکیں گے otherwise آپ اس چیز میں successful ڈیٹان آپ کا result سینا آئے