C ++ میں فائل کو پڑھنے اور لکھنے کا طریقہ

How Read Write File C



اس آرٹیکل میں ، ہم آپ کو کئی مثالوں کا استعمال کرتے ہوئے C ++ پروگرامنگ لینگویج میں فائل کو پڑھنے اور لکھنے کا طریقہ دکھانے جا رہے ہیں۔ پڑھنے اور لکھنے جیسے C ++ فائل آپریشنز کو سمجھنے کے لیے ، ہمیں پہلے C ++ میں اسٹریم کے تصور کو سمجھنا چاہیے۔

ایک ندی کیا ہے؟

ایک ندی محض ڈیٹا یا حروف کا بہاؤ ہے۔ اسٹریمز کی دو قسمیں ہیں: ان پٹ اسٹریمز اور آؤٹ پٹ اسٹریمز۔ ایک ان پٹ سٹریم کو بیرونی ان پٹ ڈیوائس جیسے کی بورڈ جیسے ڈیٹا کو پڑھنے کے لیے استعمال کیا جاتا ہے جبکہ ایک آؤٹ پٹ اسٹریم بیرونی آؤٹ پٹ ڈیوائس جیسے مانیٹر پر ڈیٹا لکھنے کے لیے استعمال ہوتی ہے۔ فائل کو ان پٹ اور آؤٹ پٹ سورس دونوں سمجھا جا سکتا ہے۔









C ++ میں ، ہم ایک سٹریم کو بیرونی ذرائع سے بھیجنے یا وصول کرنے کے لیے استعمال کرتے ہیں۔



ہم ان پٹ/آؤٹ پٹ سٹریم ، یعنی ios تک رسائی کے لیے بلٹ ان کلاسز استعمال کر سکتے ہیں۔





یہاں C ++ پروگرامنگ لینگویج کی اسٹریم کلاس درجہ بندی ہے۔



cin اور cout اشیاء کو کی بورڈ سے ڈیٹا پڑھنے اور مانیٹر پر بالترتیب آؤٹ پٹ ظاہر کرنے کے لیے استعمال کیا جاتا ہے۔ اس کے علاوہ ، ifstream ، جو کہ ان پٹ فائل سٹریم کے لیے کھڑا ہوتا ہے ، ایک فائل سے ڈیٹا کی ایک سٹریم کو پڑھنے کے لیے استعمال کیا جاتا ہے ، اور آف اسٹریم ، جو کہ آؤٹ پٹ فائل اسٹریم کے لیے کھڑا ہوتا ہے ، فائل میں ڈیٹا کا ایک سٹریم لکھنے کے لیے استعمال ہوتا ہے۔

iostram.h فائل C ++ پروگرامنگ زبان میں تمام مطلوبہ معیاری ان پٹ/آؤٹ پٹ اسٹریم کلاسز پر مشتمل ہے۔

مثالیں

اب جب کہ آپ اسٹریمز کی بنیادی باتیں سمجھ چکے ہیں ، ہم C ++ میں فائل آپریشن کو بہتر طور پر سمجھنے میں آپ کی مدد کے لیے درج ذیل مثالوں پر تبادلہ خیال کریں گے۔

  • مثال 1: فائل کھولیں اور بند کریں۔
  • مثال 2: فائل پر لکھیں۔
  • مثال 3: فائل سے پڑھیں۔
  • مثال 4: فائل کو پڑھیں اور لکھیں۔
  • مثال 5: بائنری فائل کو پڑھیں اور لکھیں۔

مثال 1: فائل کھولیں اور بند کریں۔

اس مثال کے پروگرام میں ، ہم دکھائیں گے کہ فائل کو کیسے کھولنا/بنانا ہے اور C ++ میں فائل کو کیسے بند کرنا ہے۔ جیسا کہ آپ ذیل کے پروگرام میں دیکھ سکتے ہیں ، ہم نے فائل آپریشن کے لیے درکار لائبریری کو شامل کیا ہے۔

کسی فائل کو کھولنے اور بند کرنے کے لیے ہمیں آف اسٹریم آبجیکٹ کی ضرورت ہوتی ہے۔ پھر ، کسی فائل کو پڑھنے یا لکھنے کے لیے ہمیں فائل کھولنی ہوگی۔ ہم نے fstream ہیڈر فائل کو لائن نمبر -1 پر شامل کیا ہے تاکہ ہم اسٹریم کلاس تک رسائی حاصل کر سکیں۔

ہم نے ایک myFile_Handler کو مین فنکشن کے اندر آف اسٹریم آبجیکٹ قرار دیا ہے۔ اس کے بعد ہم خالی فائل بنانے کے لیے open () فنکشن اور فائل کو بند کرنے کے لیے close () فنکشن استعمال کر سکتے ہیں۔

#شامل کریں

استعمال کرتے ہوئے نام کی جگہگھنٹے؛

intمرکزی()
{
آف اسٹریم myFile_Handler۔؛

// فائل اوپن۔
myFile_Handler.کھلا('File_1.txt')؛

// فائل بند۔
myFile_Handler.بند کریں()؛
واپسی ؛
}

اب ، ہم پروگرام مرتب کریں گے اور آؤٹ پٹ کا جائزہ لیں گے۔ جیسا کہ آپ نیچے آؤٹ پٹ ونڈو میں دیکھ سکتے ہیں ، File_1.txt فائل پروگرام کو چلانے کے بعد بنائی گئی تھی۔ فائل کا سائز صفر ہے کیونکہ ہم نے فائل میں کوئی مواد نہیں لکھا ہے۔

مثال 2: فائل پر لکھیں۔

پچھلے مثال کے پروگرام میں ، ہم نے آپ کو دکھایا کہ فائل کیسے کھولنی ہے اور فائل کو کیسے بند کرنا ہے۔ اب ، ہم آپ کو دکھائیں گے کہ فائل میں کچھ کیسے لکھنا ہے۔

ہم اسٹریم اندراج آپریٹر کا استعمال کرتے ہوئے کسی فائل کو لکھ سکتے ہیں ، یعنی<<. In this program, we have used the file handler and insertion operator to write two lines in the file. The insertion operator (<<) indicates that we are inserting the string into the output file stream object.

#شامل کریں

استعمال کرتے ہوئے نام کی جگہگھنٹے؛

intمرکزی()
{
آف اسٹریم myFile_Handler۔؛
// فائل اوپن۔
myFile_Handler.کھلا('File_1.txt')؛

// فائل پر لکھیں۔
myFile_Handler<< یہ ایک نمونہ ٹیسٹ فائل ہے۔ ' <<endl؛
myFile_Handler<< 'یہ فائل کی دوسری لائن ہے۔ ' <<endl؛

// فائل بند۔
myFile_Handler.بند کریں()؛
واپسی ؛
}

اب ، ہم مندرجہ بالا پروگرام مرتب کریں گے اور اس پر عمل کریں گے۔ جیسا کہ آپ نیچے دیکھ سکتے ہیں ، ہم نے File_1.txt فائل کو کامیابی کے ساتھ لکھا ہے۔

مثال 3: فائل سے پڑھیں۔

پچھلی مثالوں میں ، ہم نے آپ کو دکھایا کہ فائل میں مواد کیسے لکھیں۔ اب ، آئیے اس فائل سے مواد پڑھیں جو ہم نے مثال 2 میں بنائی ہے اور مواد کو معیاری آؤٹ پٹ ڈیوائس ، یعنی مانیٹر پر ڈسپلے کریں۔

ہم فائل سے مکمل لائن پڑھنے کے لیے getline () فنکشن کا استعمال کرتے ہیں اور پھر مانیٹر پر لائن پرنٹ کرنے کے لیے cout.

#شامل کریں
#شامل کریں
#شامل کریں

استعمال کرتے ہوئے نام کی جگہگھنٹے؛

intمرکزی()
{
ifstream myFile_Handler؛
سٹرنگ مائی لائن۔؛

// فائل ریڈ موڈ میں اوپن۔
myFile_Handler.کھلا('File_1.txt')؛

اگر(myFile_Handler.کھلا ہے())
{
// فائل پڑھتے رہیں۔
جبکہ(گیٹ لائن(myFile_Handler ، myLine۔))
{
// معیاری آؤٹ پٹ پر لائن پرنٹ کریں۔
لاگت <<مائی لائن<<endl؛
}
// فائل بند۔
myFile_Handler.بند کریں()؛
}
اور
{
لاگت << 'فائل کھولنے سے قاصر!'؛
}
واپسی ؛
}

اب ، ہم درج ذیل کمانڈ کا استعمال کرتے ہوئے File_1.txt کا مواد چھاپیں گے: cat File_1.txt۔ ایک بار جب ہم پروگرام مرتب کرتے ہیں اور اس پر عمل کرتے ہیں ، تو یہ واضح ہے کہ آؤٹ پٹ فائل کے مواد سے مماثل ہے۔ لہذا ، ہم نے فائل کو کامیابی سے پڑھا ہے اور فائل کا مواد مانیٹر پر چھاپا ہے۔

مثال 4: فائل کو پڑھیں اور لکھیں۔

اب تک ، ہم نے آپ کو دکھایا ہے کہ فائل کو کیسے کھولنا ، پڑھنا ، لکھنا اور بند کرنا ہے۔ C ++ میں ، ہم بیک وقت فائل کو پڑھ اور لکھ سکتے ہیں۔ فائل کو پڑھنا اور لکھنا دونوں کے لیے ، ہمیں ایک fstream آبجیکٹ حاصل کرنا ہوگا اور فائل کو ios :: in اور ios :: out موڈ میں کھولنا ہوگا۔

اس مثال میں ، ہم سب سے پہلے فائل میں کچھ مواد لکھتے ہیں۔ پھر ، ہم فائل سے ڈیٹا پڑھتے ہیں اور اسے مانیٹر پر پرنٹ کرتے ہیں۔

#شامل کریں
#شامل کریں
#شامل کریں

استعمال کرتے ہوئے نام کی جگہگھنٹے؛

intمرکزی()
{
fstream myFile_Handler؛
سٹرنگ مائی لائن۔؛

// فائل اوپن۔
myFile_Handler.کھلا('File_1.txt'، آئی او ایس::میں |ios::باہر)؛

// چیک کریں کہ فائل کھل گئی ہے یا نہیں۔
اگر(!myFile_Handler)
{
لاگت << 'فائل نہیں کھلی!'؛
باہر نکلیں()؛
}

// فائل پر لکھیں۔
myFile_Handler<< '1۔ یہ ایک اور نمونہ ٹیسٹ فائل ہے۔ ' <<endl؛
myFile_Handler<< '2۔ یہ فائل کی دوسری لائن ہے۔ ' <<endl؛

myFile_Handler.تلاش کرنا(ios::بھیک مانگو)؛

// فائل پڑھیں۔
اگر(myFile_Handler.کھلا ہے())
{
// فائل پڑھتے رہیں۔
جبکہ(گیٹ لائن(myFile_Handler ، myLine۔))
{
// معیاری آؤٹ پٹ پر لائن پرنٹ کریں۔
لاگت <<مائی لائن<<endl؛
}

// فائل بند۔
myFile_Handler.بند کریں()؛
}
اور
{
لاگت << 'فائل کھولنے سے قاصر!'؛
}
myFile_Handler.بند کریں()؛
واپسی ؛
}

اب ، ہم پروگرام مرتب کریں گے اور اس پر عمل کریں گے۔

مثال 5: بائنری فائل کو پڑھیں اور لکھیں۔

اس مثال میں ، ہم ایک کلاس کا اعلان کرنے جا رہے ہیں اور پھر اعتراض کو بائنری فائل میں لکھیں گے۔ اس مثال کو آسان بنانے کے لیے ، ہم نے ملازم طبقے کو عوامی متغیر emp_id کے ساتھ قرار دیا ہے۔ پھر ، ہم بائنری فائل پڑھیں گے اور مانیٹر پر آؤٹ پٹ پرنٹ کریں گے۔

#شامل کریں
#شامل کریں

استعمال کرتے ہوئے نام کی جگہگھنٹے؛

کلاسملازم
{
عوام:
intemp_id؛
}؛

intمرکزی()
{
آف اسٹریم binOutFile_Handler۔؛
ifstream binInFile_Handler؛

ملازم empObj_W ، empObj_R۔؛

// فائل اوپن۔
binOutFile_Handler.کھلا('ملازم ڈاٹ'، آئی او ایس::باہر |ios::ثنائی)؛

// چیک کریں کہ فائل کھل گئی ہے یا نہیں۔
اگر(!binOutFile_Handler)
{
لاگت << 'فائل نہیں کھلی!'؛
باہر نکلیں()؛
}

// empObj_W شروع کریں۔
empObj_W.emp_id = 1512۔؛

// فائل پر لکھیں۔
binOutFile_Handler.لکھیں((چار *) &empObj_W ،کا سائز(ملازم))؛
binOutFile_Handler.بند کریں()؛

اگر(!binOutFile_Handler.اچھی())
{
لاگت << 'بائنری فائل لکھنے کے دوران خرابی پیش آئی!' <<endl؛
باہر نکلیں()؛
}

// اب ، ملازم ڈاٹ فائل کو پڑھیں۔
binInFile_Handler.کھلا('ملازم ڈاٹ'، آئی او ایس::میں |ios::ثنائی)؛
// چیک کریں کہ فائل کھل گئی ہے یا نہیں۔
اگر(!binInFile_Handler۔)
{
لاگت << 'فائل نہیں کھلی!'؛
باہر نکلیں()؛
}

// بائنری فائل کا مواد پڑھیں۔
binInFile_Handler۔پڑھیں((چار *) &empObj_R ،کا سائز(ملازم))؛
binInFile_Handler۔بند کریں()؛

اگر(!binInFile_Handler۔اچھی())
{
لاگت << 'بائنری فائل پڑھنے کے دوران خرابی پیش آئی!' <<endl؛
باہر نکلیں()؛
}

// empObj_R کا آؤٹ پٹ پرنٹ کریں۔
لاگت << 'ملازم کی تفصیلات:' <<endl؛
لاگت << 'ملازم کی ID : ' <<empObj_Remp_id <<endl؛

واپسی ؛
}

نتیجہ

فائلیں بنیادی طور پر ڈیٹا کو ذخیرہ کرنے کے لیے استعمال ہوتی ہیں ، اور وہ حقیقی دنیا کی پروگرامنگ میں اہم کردار ادا کرتی ہیں۔ اس آرٹیکل میں ، ہم نے کئی مثالوں کے ذریعے کام کرکے C ++ پروگرامنگ لینگویج کے ساتھ مختلف فائل آپریشنز کو استعمال کرنے کا طریقہ دکھایا۔ مزید برآں ، ہم نے آپ کو دکھایا کہ کس طرح ٹیکسٹ فائلوں اور بائنری فائلوں میں ڈیٹا پڑھنا اور لکھنا ہے۔