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

How Use Substr Function C



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

شرط

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







نحو۔

سٹرنگ substr (size_t pos = 0، size_t len ​​= npos) const؛



یہاں ، پہلی دلیل ابتدائی پوزیشن پر مشتمل ہے جہاں سے سب سٹرنگ شروع کی جائے گی ، اور دوسری دلیل سب سٹرنگ کی لمبائی پر مشتمل ہے۔ فنکشن سب سٹرنگ کو لوٹائے گا اگر درست شروعاتی پوزیشن اور لمبائی دی جائے۔ اس فنکشن کے مختلف استعمالات اس ٹیوٹوریل کے اگلے حصے میں دکھائے گئے ہیں۔



مثال 1: substr () کا سادہ استعمال

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





// ضروری لائبریریاں شامل کریں۔
#شامل کریں
#شامل کریں


intمرکزی() {
// سٹرنگ متغیر کی وضاحت کریں۔
گھنٹے::تارoriginalstr='Linuxhint میں خوش آمدید'؛
// substr () کا استعمال کرتے ہوئے ذیلی تار کاٹیں
گھنٹے::تارنیا=originalstr.ذیلی (گیارہ،)؛
// اصل تار پرنٹ کریں۔
گھنٹے::لاگت <<'اصل تار یہ ہے:' <<originalstr<< 'n'؛
// ذیلی تار پرنٹ کریں۔
گھنٹے::لاگت <<'اسٹرنگ ہے:' <<نیا<< 'n'؛

واپسی ؛
}

آؤٹ پٹ:

کوڈ کے مطابق ، اصل تار ہے ' LinuxHint میں خوش آمدید۔ '. 11 نے سب سٹرنگ کی ابتدائی پوزیشن کے طور پر دیا ہے جو کہ 'L' کریکٹر کی پوزیشن ہے ، اور 9 نے سب سٹرنگ کی لمبائی ویلیو دی ہے۔ ‘‘ لینکس ہنٹ۔ 'کوڈ پر عمل کرنے کے بعد substr () فنکشن کی پیداوار کے طور پر واپس آ گیا ہے۔



مثال 2: ایک مخصوص تار کی پوزیشن کی بنیاد پر substr () استعمال کرنا۔

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

// ضروری لائبریریاں شامل کریں۔
#شامل کریں
#شامل کریں
استعمال کرتے ہوئے نام کی جگہگھنٹے؛

intمرکزی()
{
گھنٹے::تارstrData= 'مجھے C ++ پروگرامنگ پسند ہے'؛

// آئیے str.find () کا استعمال کرتے ہوئے '-' کی پوزیشن تلاش کریں
intپوزیشن=strData.مل('پروگرامنگ')؛

// ہم اس پیٹرن تک سٹرنگ حاصل کریں گے
گھنٹے::تارنیا=strData.ذیلی(، پوزیشن)؛

گھنٹے::لاگت <<strData<< 'n'؛
گھنٹے::لاگت <<نیا<< 'n'؛

واپسی ؛
}

آؤٹ پٹ:

کوڈ کے مطابق ، اہم تار کی قیمت ہے ، مجھے C ++ پروگرامنگ پسند ہے۔ اور سرچنگ سٹرنگ کی قیمت ہے ، پروگرامنگ ' جو مین سٹرنگ میں موجود ہے۔ تو ، پیداوار ہے ، ' مجھے C ++ پسند ہے۔ کوڈ پر عمل کرنے کے بعد۔

مثال 3: استثنائی ہینڈلنگ کے ساتھ substr () استعمال کرنا۔

substr () فنکشن کو مندرجہ ذیل کوڈ میں استثناء کے ساتھ استعمال کیا گیا ہے۔ استثنا پیدا کیا جائے گا اگر غلط آغاز کی پوزیشن substr () فنکشن میں دی گئی ہو۔ کوڈ کو جانچنے کے لیے درج ذیل کوڈ کے ساتھ C ++ فائل بنائیں۔ ٹرائی بلاک میں ، ایک لفظ کی ایک سٹرنگ ویلیو تفویض کی گئی ہے ، اور substr () فنکشن میں ایک غلط اسٹارٹ پوزیشن استعمال کی گئی ہے جو کہ ایک استثناء کو بڑھا دے گی اور غلطی کا پیغام پرنٹ کرے گی۔

// ضروری لائبریریاں شامل کریں۔
#شامل کریں
#شامل کریں

intمرکزی() {
کوشش کریں{

// سٹرنگ متغیر کی وضاحت کریں۔
گھنٹے::تارoriginalstr='Linuxhint'؛
// substr () کا استعمال کرتے ہوئے ذیلی تار کاٹیں
گھنٹے::تارنیا=originalstr.ذیلی (گیارہ،)؛
// ذیلی تار پرنٹ کریں۔
گھنٹے::لاگت <<'اسٹرنگ ہے:' <<نیا<< 'n'؛
}
پکڑو (constگھنٹے::پہنچ سے دور) {
گھنٹے::سیر << پوزیشن حد سے باہر ہے۔n'؛
}
واپسی ؛
}

آؤٹ پٹ:

کوڈ کے مطابق ، اہم تار کی قیمت ہے ، لینکس ہنٹ۔ اور ابتدائی پوزیشن کی قیمت 11 ہے جو موجود نہیں ہے۔ لہذا ، استثناء پیدا کیا گیا ہے ، اور کوڈ پر عمل کرنے کے بعد غلطی کا پیغام پرنٹ کیا گیا ہے۔

مثال 4: سٹرنگ کو تقسیم کرنے کے لیے substr () کا استعمال۔

مندرجہ ذیل مثال ایک ڈیلیمیٹر پر مبنی سٹرنگ کو تقسیم کرنے کے لیے substr () فنکشن کا استعمال دکھاتی ہے۔ فائنڈ () فنکشن کا استعمال ڈیلیمیٹر پوزیشن کو تلاش کرنے کے لیے کیا گیا ہے ، اور erase () فنکشن کا استعمال سٹرنگ کو مرکزی ڈور سے ہٹانے کے لیے کیا گیا ہے۔ 'جبکہ' لوپ نے مرکزی ڈور میں ڈیلیمیٹر کی تمام پوزیشنوں کو تلاش کرنے اور تقسیم شدہ قدر کو ویکٹر صف میں محفوظ کرنے کے لیے استعمال کیا ہے۔ اگلا ، ویکٹر صف کی اقدار پرنٹ کی گئی ہیں۔

// ضروری لائبریریاں شامل کریں۔
#شامل کریں
#شامل کریں
#شامل کریں

intمرکزی(){
// تار کی وضاحت کریں۔
گھنٹے::تارstringData= 'پی ایچ پی: سی ++: ازگر:'؛
// جداکار کی وضاحت کریں۔
گھنٹے::تارجداکار= ':'؛
// ویکٹر متغیر کا اعلان کریں۔
گھنٹے::ویکٹرزبانیں{}؛
// عدد متغیر کا اعلان کریں۔
intپوزیشن؛
// سٹرنگ متغیر کا اعلان کریں۔
گھنٹے::تارباہر؛
/ *
substr () فنکشن کا استعمال کرتے ہوئے سٹرنگ کو تقسیم کریں۔
اور تقسیم شدہ لفظ کو ویکٹر میں شامل کرنا۔
* /

جبکہ ((پوزیشن=stringData.مل(جداکار)) !=گھنٹے::تار::npos) {
زبانیںپیچھے دھکیلو(stringData.ذیلی(، پوزیشن))؛
stringData.مٹانا(، پوزیشن+جداکارلمبائی())؛
}
// تمام تقسیم شدہ الفاظ پرنٹ کریں۔
کے لیے (const آٹو &باہر:زبانیں) {
گھنٹے::لاگت <<باہر<<گھنٹے::endl؛
}
واپسی ؛
}

آؤٹ پٹ:

کوڈ کے مطابق ، مین سٹرنگ ویلیو ہے۔ پی ایچ پی: سی ++: ازگر۔ اور ڈیلیمیٹر کی قیمت ہے ، : ’ . مندرجہ بالا اسکرپٹ پر عمل کرنے کے بعد درج ذیل آؤٹ پٹ ظاہر ہوگا۔

نتیجہ

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