 اس لیکچر کے اندر ہم ایک چھوٹیسی اجامپل لیں گے جس کے اندر کہ ہم ایک فائل کوپی کا پوکرام بنائیں گے using c standard library functions ان standard library functions کو of course ہم windows کے اندر use کریں گے windows کا کوئی کمپائلر ہوگا windows کا کوئی کمپائلر عام طور پہ ہم visual studio کے استعمال کرتے ہیں تو اس visual studio کوگر آپ use کرے ہیں تو اس کے ساتھ آپ کو number of other requirements بھی ہیں آپ کی تو ان requirements کو ہم تھوڑا سا Discuss کر لیتے ہیں firstly of course آپ کے پاس ایک computer ہونا چاہیے جس کے اندر windows ہو windows کے بعد آپ کے پاس کمپائلر visual studio آپ کوئی سا بھی لے لیں 2005 سے onwards ہم یہاں بھی 2013 والا use کریں گے version پھر آپ کے پاس Ram ہونی چاہیے جو کہ اس visual studio تھوڑا سا heavy software ہے تو اس کو sport کرنے کے لیے نفر Ram ہونی چاہیے تاکہ وہ سائی تری کے سرانوں سلو نرانوں اور پھر آپ کو reference کے لیے sport کے لیے microsoft developer network کیا تو آپ CD's رکھ لیں اس کی offline help یا اگر آپ کے پاس internet of course available ہے تو آپ درکلی internet سے بھی microsoft کی سائیت سے msdn کا استعمال کر سکتے ہیں msdn is the microsoft developer network جس کے پر ساری aps کی sport ساری aps کی جو specifications اور documentation ہے وہ ساری available ہے یہاں پہاں آپ دیکھ سکتے ہیں ہمارے پاس listing موجود ہے ایک program کی جوکے standard c library use کر کے لکھا گیا یہ program کیا کرے گا ایک فایل کو دوسری فایل کے اندر کوپی کر لے گا یہاں پہ ہم جو library use کر رہے ہیں اس کے اندر ہمارے پاس functions ہیں وہ فایل کو open کرنے کے فایل کو read کرنے کے فایل کو write کرنے کے لیے use ہوں گے یہاں پہاں آپ دیکھیں کہ ہم نے ایک buffer size define کیا of 256 byte ہم 256 کے چنگs کے اندر فایل کو read کرتے جائیں گے جو ہماری source فایل ہے اور جو بھی دیتا read ہویا اس کو ہم destination فایل کو پر write کرتے جائیں گے ہمارے پاس کوئی ایسا ایک function نہیں ہے جو پوری فایل کو اٹھاکے دوسری فایل پہ کوپی کر دے تو اس لی ہم ایک buffer کے اندر by bits and pieces اس کو load کریں گے ایک buffer کے اندر اس کا ایک piece load کیا دوسری میں کوپی کیا پھر next piece load کیا دوسری and so on ایک loop کے اندر یہ کرتے جائیں گے جب تک پوری فایل جو ہے کوپی نہیں ہو جاتی تو اس کے لیے یہ کام کرنے کے لیے ہم نے بڑا ایک simple program بنایا ایک command line کے پر آپ اس program کو run کر سکتے ہیں اس main کے اندر دیکھیں argument c argument v آپ ان سے واقف ہوں گے یہ command line آپ کے parameter ہوتے ہیں argument c count ہے argument v ان کی values اگر یہاں پہاں آپ main کے اندر دیکھ رہے ہیں کہ شروع میں جو ہے وہ argument c کو چیک کر ہے argument c جو ہے وہ 3 ہونا چاہیے کیونکہ جو اس کا ہم نے syntax بنائے وہ دو فایل نینز لے گا اور ایک اپنی فایل کا نام ہوگا تو 3 argument ہمارے پاس ہونے چاہیے اگر وہ 3 نہیں ہے تو simply program exit کر جائے گا اور اگر وہ 3 ہے تو پھر وہ کیا کرے گا argument v یعنی کہ v one جو پیلہ اس کا پیرامیٹر ہے جو کے اصل source فایل ہے تو source فایل کو read bindری کے لیے وہ اوپن کرے گا read bindری کے لیے اوپن کرنے کے بعد read bindری کے لیے اوپن کرے گا read bindری کے لیے اوپن کرنے کے بعد اگر اس میں کسی کسم کا ایرر آتا ہے تو یہاں پہ وہ ایرر شو کرے گا اور ایرر شو کرنے کے بعد return کر جائے گا اگر کوئی ایرر نہیں آتا تو وہ دوسی فایل کو اوپن کرے گا write bindری mode کے اندر اور اگر اس کے اندر ایرر آتا ہے تو بھی پوکرام جو ہے آپ کا exit کر دے گا ایسا کرنے کے بعد اگر دونوں فایلز اوپن ہو جاتی ہیں تو پھر ہم نے کیا کرنا ہے ایک loop کے اندر ہم فایل کو read کرتے جائیں گے یہ ہمارا ایک loop ہے اس loop کے اندر f read سے ہم یہاں پہ پایل کو read کر رہے ہیں کتنا read کر رہے ہیں جتنا buffer size وہ آپ نے 256 رکھا ہوا تھا تو ایک 256 bytes کا آپ نے چنک read کیا اور دوسری جو فایل ہے اس کے اوپنے write کر دیا یہ 256 bytes کا چنک کتنے bytes write کیا جتنے bytes read ہوئی تھے bytes in کے اندر number of bytes ہے جو read ہوئے ہیں آپ نے بیسے 256 کا کہا تھا ہو سکتا فایل کے اندر bytes ہی 100 ہو اگر 100 bytes ہیں تو in fact 100 bytes read ہوئے ہیں 256 نہیں read ہوئے جو actual number of bytes read ہوئے ہیں وہ bytes ان کے اندر آئے گا اور ہم actual number of bytes read ہوئے ہیں ان کو ہی یہاں پہاں write کریں گے اور ایسا loop کے اندر یہ چلتا رہے گا اگر کسی وجہ سے جتنے آپ نے bytes read کیا اور جتنے آپ نے bytes write کیا تو یہ کیا انڈیکٹ کرتا ہے یہ کسی کسم کا error انڈیکٹ کرتا ہے جس کس میں بھی program وہ exit کرتا ہے گا اور ان کیس اگر یہ loop سی طریقے سے کام کر رہا ہے اور سب کچھ سی چل رہا ہے تو ہو سکتا ہے کہ after few iteration فایل وہ پوڈی طرح سے copy ہو جائے اور پھر program جو ہے بہر آ جائے گا بہر آنے کے بعد آپ دونوں فایل کو کلوز کر دیں گے یعنی کہ اگر آپ کے پاس ایک source فایل ہے اور ایک destination فایل ہے آپ نے source فایل کا پہلے 256 bytes read کیا اور destination کیوں پر write کر دیئے پھر next 256 read کیا اور destination پر write کر دیئے اب first کریں کہ آپ کے پاس یہاں پر 200 bytes بچنے آپ read 256 کا اس کو کہتے ہیں لیکن in fact جو actual number of bytes read ہوں وہ آپ کے پاس bytes in میں آئیں گے تو آپ جو actual byte read ہیں وہ 200 ہے اور 200 کو ایدر write کریں گے اگر یہ سارہ کام بلکل صحیح تری کیسے ہو جاتا ہے تو یہاں پر کسی کسی کسم کا fatal error نہیں آئے گا اور آپ دونوں فایل کو یہاں پر close کر دیں گے یہ سارہ کچھ ہونے کے بعد فایل کو close کر دیں گے اور as a result جو آپ کی source فایل تھی وہ destination کیوں پر copy ہو جائے گے یہ ہمارے پاس visual studio کی environment ہے اس کے اندر آپ نے اگر کوئی c file کا program ران کرنا ہے تھوڑا سا اس کے اندر آپ کو لنبا کام کرنا پڑتا ہے کیونکہ آپ کو پہلے ایک project بنانا پڑتا ہے تو سب سے پہلے ہم یہ project یہاں سے کریٹ کریں گے یہاں پر project جو آپ دیکھیں آپ کے پاس مختلف option is available آپ نے visual c++ کے اندر جاکے win32 console application اور جو بھی آپ اس کا نام رکھنا چاہیں cpc یہاں پہلے آپ نے win32 console application چوز کیا اس کا نام اپنے SPECIFY کیا اور اس کو آپ ok کرنے یہاں بھی آپ visit چل رہاں یہاں پہلے آپ next کریں ایک empty project بنانے اور اس کو finish کرنے یہ ہمارے پاس ایک empty project بن کیا اس empty project کے اندر بھی کوئی file available نہیں ہے تو اب یہاں اس میں ہم ایک source file add کرتے ہیں add میں جاکے new item اور یہاں پہ ہم ایک c++ file add کر دیتے ہیں اس کا بھی آپ جو مرزی نام رکھنا چاہیں رکھ سکتے ہیں اور اس کو add کر لیں ابھی آپ کے پاس file آگی آپ اس file کے اندر آپ اپنی ساری code جو ڈیپ کر سکتے ہیں ابھی جو ہم نے program لکھا اس program کی ساری جو code ہے وہ یہاں پہ ڈیپ ہو جائے گی یہاں پہ آپ اپنی ساری program listing دیں گے ہم اپنی program listing ساری دے پریست کر دیتے ہیں یہ ہمارا سارہ program آگیا اور اب ہم نے اس program کو compile کر دا اس کو compile کرنے کے لیے آپ یہاں سے پلے کا button کلک کر دیں اور yes کر دیں یہ program compile ہوا اس کے اندر آپ دیکھ سکتے ہیں کچھ ڈیپ آرر آیا یہاں اگر آپ کیوں ڈیپ آرر آئے ہو سکتے آپ ڈیپ سے بھیایوٹ دیکھ اندر ڈیپ سیکتے ہیں اگر آرار آکر ہوٹا تو اس آرر کو سپریس کرن گی تو ہم اس آرر کو سپریس کرنا پڑے گا یہاں پہلے کے اندر آیا آپ کو یہاں پہلے کے لئے کسی سیٹنگ چنج کرنی گی یہاں پہلے ڈیپ دیفولٹ ہے اس کو آپ کو ڈیپ پہلے victories بھیہاں پر جو ڈیپر لیے آپ نے File جو ڈیپزیبل کرنے that is 4996 ok کردنے اور آپ اس کو پھر سے کمپائل کریں اب آپ دیکھ سکتے ہیں کہ یہ پورام جو ہے کمپائل ہو گیا اب اس کو رن کرنے کے لئے ہم کمانٹ پران پر جائیں گے یہاں پر آپ کمانٹ لکھیں یہ مر پس کمانٹ پرانٹ آگی کمانٹ پرانٹ پر جو پراجیٹ کی دریکٹری ہے پراجیٹ کی دریکٹری کے اندر آپ دیکھیں گے تو آپ کو ایک دیبگ کا فولڈر نظر آئے گا اس دیبگ کے فولڈر میں جائیں اور اس کی آپ لسٹنگ لیں تو یہاں پر آپ کو ایکزی فائل بنیویں نظر آئے گے cpc کے نام سے ایکزی فائل بنیویں نظر آئے گے اگر cpc کو ہم ویسے رن کرتے ہیں کیونکہ وہ کمانٹ 9 پرامیٹس لے رہی ہے اور شروع میں ہم نے چیکویل گایا ہوئے تو یہاں پر وہ آرر دے رہا ہے اور کہا ہے کہ اس کو اس طریق سے use کرنام فائل 1 اور فائل 2 کا نام بھی سپیسیفائے کرنام اب یہاں پر آپ کو چاہیں تو کوئی فائل کریٹ بھی کر سکتے ہیں آپ یہاں پر ہم ایک فائل کریٹ کر لیتے ہیں سے a.txt اور اس کے اندر ہم کچھ بھی ٹیکس رکھ دیتے ہیں یہ ہم نے ٹیکس رکھ دیا اور control z سے یہ فائل کریٹ ہوگی اب آپ دیکھیں گے فائل لسٹنگ اندر آگی a.txt 17 بائٹس کی فائل ہے اور یہ ہم ایضا نظر آرہی ہے اب اس فائل کو ہم کسی دوسری فائل پر کوپی کرنا چاہے ہیں اس پوگرام کو use کرتے ہوئے ہم اس پوگرام کا نام سورس فائل کا نام اور آگے destination فائل کا نام سپیسیفائے کرتا ہے تیک ہے اوپلی کوئی ایرد نہیں آئے گا انٹر کریں یہ فائل کوپی ہوگی اس کیاں آپ لسٹنگ لے لیں تو اس لسٹنگ اندر اب آپ کو ایک اور نئی فائل کریٹ ہوئی نظر آئی گی b.txt تو اس طرح آپ دیکھ سکتے ہیں کہ یہ ہمارا فائل کوپی کا پوگرام کام کرہا ہے