C ++ میں find_first_of () فنکشن کا استعمال کیسے کریں۔

How Use Find_first_of Function C



سٹرنگ ڈیٹا کے ساتھ کام کرنے کے لیے C ++ میں مختلف بلٹ ان فنکشنز موجود ہیں۔ کی تلاش_پہلے_ کا () فنکشن کا استعمال مخصوص کردار کی پہلی موجودگی کا مقام تلاش کرنے کے لیے کیا جاتا ہے۔ یہ فنکشن سٹرنگ کی پہلی موجودگی کی پوزیشن لوٹاتا ہے جو اس فنکشن کی دلیل ویلیو کے طور پر دی جائے گی۔ C ++ میں سٹرنگ تلاش کرنے کے لیے اس فنکشن کے مختلف استعمالات اس ٹیوٹوریل میں بیان کیے گئے ہیں۔

شرط

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







find_first_of () فنکشن کی خصوصیات۔

کی تلاش_پہلے_ کا () فنکشن پہلی دلیل کی قدر کی بنیاد پر مختلف قسم کے متغیرات واپس کر سکتا ہے۔ یہ سٹرنگ کی سرچ پوزیشن لوٹائے گا اگر پہلی دلیل ویلیو سٹرنگ ہے۔ اگر حرفوں کی ایک صف کی طرف اشارہ پہلی دلیل میں دیا گیا ہو تو یہ حروف کے سٹرنگ کی تلاش کی پوزیشن لوٹائے گا۔ اگر تیسری دلیل کی قیمت دی جائے تو یہ بفر پوزیشن واپس کردے گا۔ اگر کردار پہلی دلیل میں دیا گیا ہو اور یہ مرکزی تار میں موجود ہو تو یہ کردار کی پوزیشن واپس کرے گا۔ تلاش کی ابتدائی پوزیشن اس فنکشن کی دوسری دلیل میں مقرر کی گئی ہے۔ اس فنکشن کی مختلف ترکیب ذیل میں دی گئی ہے۔



نحو۔

string size_t find_first_of (const string & str، size_t pos = 0) const؛
c-string size_t find_first_of (const char* s، size_t pos = 0) const؛
بفر size_t find_first_of (const char* s، size_t pos، size_t n) const؛
کردار size_t find_first_of (char c، size_t pos = 0) const؛



مثال 1: سٹرنگ کے مخصوص کردار کو تلاش کریں اور تبدیل کریں۔

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





// آؤٹ پٹ پرنٹ کرنے کے لیے شامل کریں۔
#شامل کریں
// size_t استعمال کرنے کے لیے شامل کریں۔
#شامل کریں

intمرکزی()
{
// سٹرنگ متغیر کو شروع کریں۔
گھنٹے::تارstrData('LinuxHint میں خوش آمدید')؛
// اصل تار پرنٹ کریں۔
گھنٹے::لاگت << 'اصل تار یہ ہے:' +strData<< 'n'؛
// کردار 'i' کی تمام پوزیشن تلاش کریں
گھنٹے::size_tتلاش کی فہرست=strData.پہلے_ تلاش کریں۔('میں')؛
// تمام 'i' کو '@' سے تبدیل کرنے کے لیے لوپ کی تکرار کریں
جبکہ (تلاش کی فہرست!=گھنٹے::تار::npos)
{
strData[تلاش کی فہرست] = '@'؛
تلاش کی فہرست=strData.پہلے_ تلاش کریں۔('میں'، تلاش کی فہرست۔+)؛
}
// ترمیم شدہ تار پرنٹ کریں۔
گھنٹے::لاگت << 'ترمیم شدہ تار یہ ہے:' +strData<< 'n'؛

واپسی ؛
}

آؤٹ پٹ:

مندرجہ ذیل آؤٹ پٹ اوپر کوڈ پر عمل کرنے کے بعد ظاہر ہوگا۔



مثال 2: تلاش کرنے والے حروف کی پہلی پوزیشن تلاش کریں۔

ایک سے زیادہ حروف کی سٹرنگ کی پوزیشن تلاش کرنے کے لیے درج ذیل کوڈ کے ساتھ ایک C ++ فائل بنائیں اور مرکزی سٹرنگ سے ملنے والے کردار کی پہلی پوزیشن لوٹائیں۔ ایک سٹرنگ ڈیٹا ایک سٹرنگ متغیر میں تفویض کیا گیا ہے ، اور پہلی پوزیشن ایک انٹیجر متغیر میں محفوظ ہے۔ کوڈ پر عمل کرنے کے بعد پوزیشن ویلیو پرنٹ کی جائے گی۔

// آؤٹ پٹ پرنٹ کرنے کے لیے شامل کریں۔
#شامل کریں

intمرکزی()
{
// سٹرنگ متغیر کو شروع کریں۔
گھنٹے::تارstrData( 'بنیادی C ++ پروگرامنگ')؛
// پوزیشن کو ذخیرہ کرنے کے لیے انٹرجر متغیر کا اعلان کریں۔
intپوزیشن؛
// کردار 'C ++' تلاش کریں
پوزیشن=strData.پہلے_ تلاش کریں۔( 'K ++' )؛
// پوزیشن ویلیو چیک کریں۔
اگر (پوزیشن> = )
{
// اگر کوئی کردار ملے تو پوزیشن پرنٹ کریں۔
گھنٹے::لاگت << 'کردار '' <<strData[پوزیشن]
<< '' مل گیا ہے' << 'پوزیشن پر' <<پوزیشن<< 'n'؛
}

واپسی ؛
}

آؤٹ پٹ:

مندرجہ ذیل آؤٹ پٹ اوپر کوڈ پر عمل کرنے کے بعد ظاہر ہوگا۔ یہاں ، کردار ، + ’’ تار ‘‘ K ++ پوزیشن پر مل گیا ہے ، مین سٹرنگ کا ، ' بنیادی C ++ پروگرامنگ۔ '.

مثال 3: مخصوص پوزیشن کے بعد ایک خاص کردار تلاش کریں۔

مخصوص پوزیشن کے بعد کسی خاص کردار کو تلاش کرنے کے لیے درج ذیل کوڈ کے ساتھ C ++ فائل بنائیں۔ سٹرنگ کا ڈیٹا سٹرنگ متغیر میں محفوظ کیا جاتا ہے ، اور ایک خاص سٹرنگ کو پوزیشن کے بعد تلاش کیا جاتا ہے ، 13. اگر سرچ سٹرنگ کا کوئی بھی کریکٹر مین سٹرنگ میں پایا گیا ہے تو پوزیشن ویلیو لوٹائی جائے گی۔

// آؤٹ پٹ پرنٹ کرنے کے لیے شامل کریں۔
#شامل کریں

intمرکزی()
{
// سٹرنگ متغیر کو شروع کریں۔
گھنٹے::تارstrData= 'زندہ رہنے کے لیے کھاؤ ، کھانے کے لیے زندہ نہیں'؛
// اصل تار پرنٹ کریں۔
گھنٹے::لاگت << 'اصل تار یہ ہے:' +strData<< 'n'؛
// اس پوزیشن کو پرنٹ کریں جہاں آخری کردار ملا۔
گھنٹے::لاگت<<'پوزیشن پر پایا جانے والا آخری مماثل کردار:'
<<strData.پہلے_ تلاش کریں۔('پر'،13۔) << 'n'؛
واپسی ؛
}

آؤٹ پٹ:

مندرجہ ذیل آؤٹ پٹ اوپر کوڈ پر عمل کرنے کے بعد ظاہر ہوگا۔ یہاں ، کردار ، کو ’’ تار ‘‘ پر پوزیشن پر مل گیا ہے ، پندرہ مین سٹرنگ کا ، ' جینے کے لیے کھاؤ ، کھانے کے لیے نہیں۔ '.

مثال 4: پہلے مماثل نمبر کی پوزیشن تلاش کریں۔

دوسری ویکٹر لسٹ میں پہلی ویکٹر لسٹ کے ہر نمبر کو تلاش کرنے کے لیے درج ذیل کوڈ کے ساتھ C ++ فائل بنائیں اور پہلی ویکٹر لسٹ کے مماثل نمبر کی پوزیشن لوٹائیں۔ اگر کوئی مماثل دلیل مل جاتی ہے ، تو پوزیشن کی قیمت واپس کردی جائے گی دوسری صورت میں ، ایک پیغام پرنٹ کیا جائے گا.

// آؤٹ پٹ پرنٹ کرنے کے لیے شامل کریں۔
#شامل کریں
// ویکٹر میں ڈیٹا تلاش کرنے کے لیے شامل کریں۔
#شامل کریں
// ویکٹر ڈیٹا استعمال کرنے کے لیے شامل کریں۔
#شامل کریں

intمرکزی()
{
// دو ویکٹر کی فہرست کا اعلان کریں۔
گھنٹے::ویکٹرفہرست 1{10۔،،65۔،31۔،}؛
گھنٹے::ویکٹرفہرست 2{،77۔،،38۔،32۔،55۔}؛
// list1 کا ڈیٹا فہرست 2 میں تلاش کریں۔
آٹوپیداوار=گھنٹے::پہلے_ تلاش کریں۔(فہرست 1.شروع کریں()، فہرست 1۔ختم()، فہرست 2۔شروع کریں()، فہرست 2۔ختم())؛
// مماثل نمبر کی پوزیشن پڑھیں۔
intپوزیشن=گھنٹے::فاصلے(فہرست 1.شروع کریں()، آؤٹ پٹ۔)؛

// فہرست 1 کی کسی بھی تعداد کو فہرست 2 کی کسی بھی تعداد کے ساتھ چیک کریں۔
اگر (پیداوار<فہرست 1.ختم()) {
گھنٹے::لاگت << 'پہلا مماثل نمبر' <<فہرست 1[پوزیشن] << 'مقام پر پایا' <<پوزیشن<< 'n'؛
}
اور {
گھنٹے::لاگت << 'کوئی مماثل نمبر نہیں ملا۔n'؛
}
}

آؤٹ پٹ:

مندرجہ ذیل آؤٹ پٹ اوپر کوڈ پر عمل کرنے کے بعد ظاہر ہوگا۔ نمبر کی قدر ، پہلی صف کی 5 ، دوسری صف میں موجود ہے اور اس نمبر کی پوزیشن 1 ہے۔

نتیجہ

Find_first_of () فنکشن مختلف پروگرامنگ مقاصد کے لیے کسی کردار یا نمبر کو تلاش کرنے کے لیے استعمال کیا جا سکتا ہے۔ یہ فنکشن مختلف تلاش کے مسائل کو حل کرنے کے لیے استعمال کیا جا سکتا ہے۔ مجھے امید ہے کہ C ++ پروگرامر اس ٹیوٹوریل کو پڑھنے کے بعد اس فنکشن کو صحیح طریقے سے استعمال کر سکے گا۔