سی میں ٹیکسٹ فائل کو کیسے پڑھیں

Sy My Yks Fayl Kw Kys P Y



ٹیکسٹ فائلیں کمپیوٹرز پر سب سے زیادہ استعمال ہونے والی فائل کی اقسام میں سے ہیں۔ ان کا استعمال مختلف کاموں کے لیے کیا جا سکتا ہے، جیسے کہ ٹیکسٹ دستاویزات یا پروگرام سورس کوڈز کو محفوظ کرنا۔ وہ سسٹم میں محفوظ ہیں۔ .TXT توسیع سی کوڈ پر کام کرتے ہوئے، آپ کو اپنے پروجیکٹ کے ایک حصے کے طور پر ٹیکسٹ فائل کو پڑھنے یا ٹیکسٹ فائل سے مدد حاصل کرنے کی ضرورت پڑسکتی ہے۔ ٹیکسٹ فائل کو پڑھنے کے لیے مقام پر واپس جانے کے بجائے، اسے کوڈ کے اندر پڑھنا بہتر ہے۔

یہ مضمون سی پروگرامنگ زبان میں ٹیکسٹ فائل کو پڑھنے کے مفید طریقوں پر بحث کرتا ہے۔

سی میں ایک ٹیکسٹ فائل پڑھیں

سی میں ٹیکسٹ فائل کو پڑھنے کے چار طریقے ہیں، جو یہ ہیں۔







طریقہ 1: سی میں ٹیکسٹ فائل کو پڑھنے کے لیے fscanf() فنکشن کا استعمال

دی fscanf() فنکشن ایک معیاری لائبریری فنکشن ہے جو دلائل کی ایک صف میں لیتا ہے اور انہیں اقدار میں تبدیل کرتا ہے جو آپ کے پروگرام کے ذریعہ استعمال کیا جاسکتا ہے۔ یہ فائل کے اندر ایک فارمیٹ سٹرنگ تلاش کرتا ہے اور فائل سے پڑھتے وقت فارمیٹ سٹرنگ واپس کرتا ہے۔ فارمیٹ سٹرنگ کو اقتباسات (“”) کے اندر بند کیا جانا چاہئے تاکہ وہ آپ کے پروگرام کے ذریعہ اس کے اپنے نحو کے حصے کے طور پر تشریح نہ کریں۔



دی fscanf() فنکشن دلیل کی فہرست میں اشیاء کے ذریعہ فراہم کردہ جگہوں پر ڈیٹا پڑھتا ہے۔ دلیل کی فہرست کے اندراجات کو لازمی طور پر ان متغیرات کی طرف اشارہ کرنا چاہیے جن کی قسمیں فارمیٹ سٹرنگ میں ٹائپ سپیفائیرز سے ملتی ہیں۔



یہ یا تو EOF (فائل کا اختتام) دیتا ہے یا متغیرات کی تعداد ان کو تفویض کردہ اقدار کے ساتھ دیتا ہے۔





آئیے استعمال کرکے ٹیکسٹ فائل کو پڑھنے کے لیے ایک مثال دیکھیں fscanf() فنکشن:

# شامل کریں
اہم int ( )
{
فائل * ptr = fopen ( 'file_name.txt' ، 'ر' ) ;
اگر ( ptr == NULL ) {
printf ( 'ایسی کوئی فائل موجود نہیں ہے۔' ) ;
واپسی 0 ;
}
چار بف [ 100 ] ;
جبکہ ( fscanf ( پی ٹی آر، '%s' ، بف ) == 1 )
printf ( '%s \n ' ، بف ) ;
واپسی 0 ;
}

اس کوڈ میں، fopen() فنکشن پوائنٹر متغیر ptr کے تحت فائل کو کھولنے کے لیے استعمال کیا جاتا ہے۔ fscanf() فنکشن پھر فائل کو پڑھنے اور پھر اس کے مواد کو پرنٹ کرنے کے لیے استعمال کیا جاتا ہے۔



آؤٹ پٹ

طریقہ 2: C میں ٹیکسٹ فائل کو پڑھنے کے لیے fread() فنکشن کا استعمال

فائل سے ڈیٹا کو پڑھا جاتا ہے۔ فریڈ() طریقہ اور بفر میں محفوظ کیا جاتا ہے۔ گنتی تک آئٹمز کو ایک سرنی بفر میں پڑھا جاتا ہے۔ fread() ان پٹ سٹریم سے فنکشن، جو فنکشن دلیل کے طور پر فراہم کیا جاتا ہے۔

جب آئٹمز کی کل تعداد کامیابی سے پڑھ لی جاتی ہے، تو ایک size_t آبجیکٹ لوٹا دیا جاتا ہے۔ اگر یہ قدر پروگرام کے ذریعے متعین کردہ قدر سے مختلف ہے، یا تو کوئی خرابی واقع ہوئی یا فائل کا اختتام ہو گیا۔

# شامل کریں
اہم int ( )
{
چار بفر [ 33 ] ;
فائل * ندی؛
ندی = فوپین ( 'file_name.txt' ، 'ر' ) ;
int شمار = fread ( اور بفر، سائز کا ( چار ) ، 33 ، ندی ) ;
fclose ( ندی ) ;
printf ( 'فائل سے پڑھا گیا ڈیٹا: %s \n ' , بفر ) ;
printf ( 'پڑھے گئے عناصر کی تعداد: %d' ، شمار ) ;
واپسی 0 ;
}

اس کوڈ میں، fopen() فنکشن فائل کو کھولنے کے لیے استعمال کیا جاتا ہے اور پھر fread() فنکشن پھر فائل کو پڑھنے اور پھر اس کے مواد کو پرنٹ کرنے کے لیے استعمال کیا جاتا ہے۔ 33 حروف کی تعداد دکھاتا ہے جو اسے فائل سے پڑھے گا۔

آؤٹ پٹ

طریقہ 3: سی میں ٹیکسٹ فائل کو پڑھنے کے لیے fgets() فنکشن کا استعمال

کے ساتہ fgets() فنکشن، ایک لائن کو مخصوص سٹریم سے پڑھا جاتا ہے اور متعلقہ سٹرنگ متغیر میں محفوظ کیا جاتا ہے۔ جب (n-1) حروف، نئی لائن کیریکٹر، یا فائل کا اختتام پڑھا جاتا ہے، یا جو بھی پہلے آتا ہے، پروگرام ختم ہوجاتا ہے۔ اگر فنکشن کامیاب ہوتا ہے، تو وہی سٹرنگ واپس کردی جاتی ہے۔ سٹرنگ کے مواد کو اپنی جگہ پر برقرار رکھا جاتا ہے اور اگر فنکشن اینڈ آف فائل سے ٹکرا جاتا ہے تو کوئی حرف پڑھا نہیں جاتا ہے۔

ناکامی کی صورت میں، یہ ایک null پوائنٹر فراہم کرتا ہے۔

# شامل کریں
اہم int ( ) {
فائل * fp
چار str [ 60 ] ;
fp = fopen ( 'file.txt' ، 'ر' ) ;
اگر ( fp == NULL ) {
غلطی ( 'فائل کھولنے میں خرابی' ) ;
واپسی ( - 1 ) ;
}
اگر ( fgets ( str، 100 , fp ) ! =NULL ) {
رکھتا ہے ( str ) ;
}
fclose ( fp ) ;
واپسی ( 0 ) ;
}

اس کوڈ میں، file.txt فائل کو کھولا جاتا ہے۔ fopen() فنکشن اور پھر fgets() فنکشن پھر فائل میں تاروں کو پڑھنے اور پھر پرنٹ کرنے کے لیے استعمال ہوتا ہے۔ 100 تاروں کی تعداد دکھاتا ہے جو اسے پڑھے گا۔

آؤٹ پٹ

طریقہ 4: سی میں ٹیکسٹ فائل کو پڑھنے کے لیے fgetc() فنکشن کا استعمال

دی fgtec() فنکشن ایک ایک کرکے حروف کو پڑھنے کے لیے استعمال ہوتا ہے۔ فنکشن پھر اس کریکٹر کا ASCII کوڈ لوٹاتا ہے جسے اس نے پڑھا ہے۔ یہ وہ کردار لوٹاتا ہے جو فائل پوائنٹر کی بتائی ہوئی جگہ پر موجود تھا۔ فائل پوائنٹر پھر اگلے کریکٹر پر چلا جاتا ہے۔ اگر کوئی خرابی ہے یا پوائنٹر فائل کے آخر تک پہنچ جاتا ہے، تو یہ فنکشن EOF (فائل کا اختتام) لوٹاتا ہے۔

# شامل کریں
اہم int ( )
{
فائل * fp = fopen ( 'file.txt' ، 'ر' ) ;
اگر ( fp == NULL )
واپسی 0 ;
کیا {
char c = fgetc ( fp ) ;
اگر ( feof ( fp ) )
توڑنا ;
printf ( '%c' ، ج ) ;
} جبکہ ( 1 ) ;
fclose ( fp ) ;
واپسی ( 0 ) ;
}

' file.txt ' فائل کے ذریعہ کھولی جاتی ہے۔ fopen() پوائنٹر متغیر fp کے تحت اس کوڈ میں فنکشن۔ پھر فائل کے حروف کو استعمال کرکے پڑھا جاتا ہے۔ fgetc() طریقہ، جو پڑھے گئے حروف کو پرنٹ کرتا ہے۔

آؤٹ پٹ

نتیجہ

فائلوں کو پڑھنا ہر کمپیوٹر استعمال کرنے والے کے لیے ضروری ہے، اور خاص طور پر ایک ڈویلپر کے لیے یہ ضروری ہے کہ وہ اپنے کوڈ کا استعمال کرتے ہوئے فائلوں تک رسائی حاصل کر سکے۔ لہذا پڑھنے کے لیے اوپر مضمون میں 4 طریقے بتائے گئے ہیں۔ ٹیکسٹ فائل C زبان کا استعمال کرتے ہوئے fscanf() اور fread() فائلوں کو اسی طرح پڑھنے کے لیے استعمال کیا جاتا ہے، اس استثناء کے ساتھ fread() ہمیں ان کرداروں کی تعداد بتانے کی اجازت دیتا ہے جو صارف پڑھنا چاہتا ہے، جبکہ fgets() ایک فائل لائن کو لائن سے پڑھنے کے لئے استعمال کیا جاتا ہے، اور fgetc() ایک فائل کریکٹر کو کریکٹر کے حساب سے پڑھنے کے لیے استعمال کیا جاتا ہے۔