C ++ లో సబ్‌స్ట్రర్ () ఫంక్షన్‌ను ఎలా ఉపయోగించాలి

How Use Substr Function C



స్ట్రింగ్ నుండి ఏదైనా భాగాన్ని కత్తిరించే మార్గాన్ని సబ్-స్ట్రింగ్ అంటారు. స్ట్రింగ్ నుండి నిర్దిష్ట భాగాన్ని కత్తిరించడం ద్వారా కొత్త స్ట్రింగ్‌ను రూపొందించడానికి సబ్‌స్ట్రర్ () ఫంక్షన్ C ++ లో ఉంది. ది string.h ఈ ఫంక్షన్‌ను ఉపయోగించడానికి లైబ్రరీ ఫైల్‌ను చేర్చడం అవసరం. ఈ ఫంక్షన్‌లో రెండు వాదనలు ఉన్నాయి. మొదటి ఆర్గ్యుమెంట్ కొత్త స్ట్రింగ్ యొక్క ప్రారంభ స్థానాన్ని కలిగి ఉంటుంది మరియు రెండవ ఆర్గ్యుమెంట్ స్ట్రింగ్ యొక్క పొడవును కలిగి ఉంటుంది. C ++ లో సబ్‌స్ట్రర్ () ఫంక్షన్‌ను ఉపయోగించే విధానం ఈ ట్యుటోరియల్‌లో వివరించబడింది.

ముందస్తు అవసరం

ఈ ట్యుటోరియల్ యొక్క ఉదాహరణలను తనిఖీ చేయడానికి ముందు, మీరు సిస్టమ్‌లో g ++ కంపైలర్ ఇన్‌స్టాల్ చేయబడిందో లేదో తనిఖీ చేయాలి. మీరు విజువల్ స్టూడియో కోడ్‌ని ఉపయోగిస్తుంటే, ఎక్జిక్యూటబుల్ కోడ్‌ను సృష్టించడానికి C ++ సోర్స్ కోడ్‌ను కంపైల్ చేయడానికి అవసరమైన ఎక్స్‌టెన్షన్‌లను ఇన్‌స్టాల్ చేయండి. ఇక్కడ, C ++ కోడ్‌ను కంపైల్ చేయడానికి మరియు అమలు చేయడానికి విజువల్ స్టూడియో కోడ్ అప్లికేషన్ ఉపయోగించబడింది.







వాక్యనిర్మాణం

స్ట్రింగ్ సబ్‌స్ట్రర్ (size_t pos = 0, size_t len ​​= npos) const;



ఇక్కడ, మొదటి వాదనలో ఉప-స్ట్రింగ్ ప్రారంభమయ్యే ప్రారంభ స్థానం ఉంటుంది మరియు రెండవ వాదన ఉప-స్ట్రింగ్ పొడవును కలిగి ఉంటుంది. చెల్లుబాటు అయ్యే ప్రారంభ స్థానం మరియు పొడవు ఇవ్వబడితే ఫంక్షన్ ఉప-స్ట్రింగ్‌ను అందిస్తుంది. ఈ ట్యుటోరియల్ యొక్క తదుపరి భాగంలో ఈ ఫంక్షన్ యొక్క వివిధ ఉపయోగాలు చూపబడ్డాయి.



ఉదాహరణ 1: సబ్‌స్ట్రర్ () యొక్క సాధారణ ఉపయోగం

కింది ఉదాహరణ సబ్‌స్ట్రర్ () ఫంక్షన్ యొక్క అత్యంత సాధారణ మరియు సరళమైన ఉపయోగాన్ని చూపుతుంది. స్ట్రింగ్ విలువ నుండి సబ్‌స్ట్రింగ్‌ను రూపొందించడానికి కింది కోడ్‌తో C ++ ఫైల్‌ని సృష్టించండి. బహుళ పదాల స్ట్రింగ్ స్ట్రింగ్ వేరియబుల్‌లో కేటాయించబడింది. తరువాత, చెల్లుబాటు అయ్యే ప్రారంభ స్థానం మరియు సబ్-స్ట్రింగ్ యొక్క పొడవు సబ్‌స్ట్రర్ () ఫంక్షన్ యొక్క ఆర్గ్యుమెంట్ విలువలలో ఉంటాయి. కోడ్ అమలు చేసిన తర్వాత అసలు స్ట్రింగ్ మరియు సబ్‌స్ట్రింగ్ రెండూ ముద్రించబడతాయి.





// అవసరమైన లైబ్రరీలను చేర్చండి
#చేర్చండి
#చేర్చండి


intప్రధాన() {
// స్ట్రింగ్ వేరియబుల్‌ను నిర్వచించండి
గంటలు::స్ట్రింగ్అసలుస్టార్='Linuxhint కు స్వాగతం';
// సబ్‌స్ట్రర్ () ఉపయోగించి ఉప తీగను కత్తిరించండి
గంటలు::స్ట్రింగ్న్యూస్టార్=అసలుస్టార్.సబ్‌స్ట్రార్ (పదకొండు,9);
// అసలు స్ట్రింగ్‌ను ముద్రించండి
గంటలు::ఖరీదు <<'అసలు స్ట్రింగ్:' <<అసలుస్టార్<< ' n';
// ఉప స్ట్రింగ్‌ను ముద్రించండి
గంటలు::ఖరీదు <<'సబ్‌స్ట్రింగ్:' <<న్యూస్టార్<< ' n';

తిరిగి 0;
}

అవుట్‌పుట్:

కోడ్ ప్రకారం, అసలు స్ట్రింగ్ ' LinuxHint కి స్వాగతం '. 11 అనేది 'L' అక్షరం యొక్క స్థానం అయిన ఉప-స్ట్రింగ్ యొక్క ప్రారంభ స్థానంగా మరియు 9 ఉప-స్ట్రింగ్ యొక్క పొడవు విలువగా ఇవ్వబడింది. ' LinuxHint కోడ్‌ను అమలు చేసిన తర్వాత సబ్‌స్ట్రర్ () ఫంక్షన్ యొక్క అవుట్‌పుట్‌గా తిరిగి వచ్చింది.



ఉదాహరణ 2: నిర్దిష్ట స్ట్రింగ్ యొక్క స్థానం ఆధారంగా సబ్‌స్ట్రర్ () ని ఉపయోగించడం

కింది కోడ్ నిర్దిష్ట స్ట్రింగ్ యొక్క స్థానాన్ని శోధించిన తర్వాత ఉప-స్ట్రింగ్‌ని ఉత్పత్తి చేస్తుంది. కోడ్‌ని పరీక్షించడానికి క్రింది కోడ్‌తో C ++ ఫైల్‌ని సృష్టించండి. బహుళ పదాల స్ట్రింగ్ విలువ కోడ్‌లో నిర్వచించబడింది. తరువాత, ప్రత్యేక స్ట్రింగ్ యొక్క స్థానం ప్రధాన స్ట్రింగ్‌లో ఫైండ్ () ఫంక్షన్ ఉపయోగించి శోధించబడుతుంది. సబ్‌స్ట్రింగ్‌ను ప్రారంభించడానికి సబ్‌స్ట్రింగ్‌ను రూపొందించడానికి సబ్‌స్ట్రర్ () ఫంక్షన్ ఉపయోగించబడింది.

// అవసరమైన లైబ్రరీలను చేర్చండి
#చేర్చండి
#చేర్చండి
ఉపయోగించి నేమ్‌స్పేస్గంటలు;

intప్రధాన()
{
గంటలు::స్ట్రింగ్strData= 'నాకు C ++ ప్రోగ్రామింగ్ అంటే ఇష్టం';

// str.find () ఉపయోగించి '-' స్థానాన్ని కనుగొందాం
intస్థానం=strData.కనుగొనండి('ప్రోగ్రామింగ్');

// మేము ఈ నమూనా వరకు సబ్‌స్ట్రింగ్‌ను పొందుతాము
గంటలు::స్ట్రింగ్న్యూస్టార్=strData.సబ్‌స్ట్రార్(0, స్థానం);

గంటలు::ఖరీదు <<strData<< ' n';
గంటలు::ఖరీదు <<న్యూస్టార్<< ' n';

తిరిగి 0;
}

అవుట్‌పుట్:

కోడ్ ప్రకారం, ప్రధాన స్ట్రింగ్ విలువ, నాకు C ++ ప్రోగ్రామింగ్ అంటే ఇష్టం మరియు సెర్చ్ స్ట్రింగ్ విలువ, ' ప్రోగ్రామింగ్ ' అది ప్రధాన స్ట్రింగ్‌లో ఉంది. కాబట్టి, అవుట్‌పుట్, ' నాకు C ++ అంటే ఇష్టం 'కోడ్‌ను అమలు చేసిన తర్వాత.

ఉదాహరణ 3: మినహాయింపు నిర్వహణతో సబ్‌స్ట్రర్ () ని ఉపయోగించడం

సబ్‌స్ట్రర్ () ఫంక్షన్ కింది కోడ్‌లో మినహాయింపు నిర్వహణతో ఉపయోగించబడింది. సబ్‌స్ట్రర్ () ఫంక్షన్‌లో చెల్లని ప్రారంభ స్థానం ఇవ్వబడితే మినహాయింపు సృష్టించబడుతుంది. కోడ్‌ని పరీక్షించడానికి క్రింది కోడ్‌తో C ++ ఫైల్‌ని సృష్టించండి. ట్రై బ్లాక్‌లో, ఒక పదం యొక్క స్ట్రింగ్ విలువ కేటాయించబడింది మరియు సబ్‌స్ట్రార్ () ఫంక్షన్‌లో చెల్లని ప్రారంభ స్థానం ఉపయోగించబడింది, ఇది మినహాయింపును పెంచుతుంది మరియు దోష సందేశాన్ని ముద్రించగలదు.

// అవసరమైన లైబ్రరీలను చేర్చండి
#చేర్చండి
#చేర్చండి

intప్రధాన() {
ప్రయత్నించండి{

// స్ట్రింగ్ వేరియబుల్‌ను నిర్వచించండి
గంటలు::స్ట్రింగ్అసలుస్టార్='Linuxhint';
// సబ్‌స్ట్రర్ () ఉపయోగించి ఉప తీగను కత్తిరించండి
గంటలు::స్ట్రింగ్న్యూస్టార్=అసలుస్టార్.సబ్‌స్ట్రార్ (పదకొండు,9);
// ఉప స్ట్రింగ్‌ను ముద్రించండి
గంటలు::ఖరీదు <<'సబ్‌స్ట్రింగ్:' <<న్యూస్టార్<< ' n';
}
క్యాచ్ (కానిస్టేట్గంటలు::పరిదిలో లేని) {
గంటలు::సెర్ << 'స్థానం పరిధికి మించినది. n';
}
తిరిగి 0;
}

అవుట్‌పుట్:

కోడ్ ప్రకారం, ప్రధాన స్ట్రింగ్ విలువ, LinuxHint మరియు ప్రారంభ స్థానం విలువ 11 ఉనికిలో లేదు. కాబట్టి, మినహాయింపు రూపొందించబడింది మరియు కోడ్‌ను అమలు చేసిన తర్వాత దోష సందేశం ముద్రించబడింది.

ఉదాహరణ 4: స్ట్రింగ్‌ను విభజించడానికి సబ్‌స్ట్రర్ () ని ఉపయోగించడం

కింది ఉదాహరణ ఒక డీలిమిటర్ ఆధారంగా స్ట్రింగ్‌ను విభజించడానికి సబ్‌స్ట్రర్ () ఫంక్షన్‌ని ఉపయోగించడాన్ని చూపుతుంది. డిలిమిటర్ పొజిషన్‌ను సెర్చ్ చేయడానికి ఫైండ్ () ఫంక్షన్ ఉపయోగించబడింది, మరియు ప్రధాన స్ట్రింగ్ నుండి డిలిమిటర్‌తో విడిపోయిన స్ట్రింగ్‌ను తొలగించడానికి ఎరేస్ () ఫంక్షన్ ఉపయోగించబడింది. ప్రధాన స్ట్రింగ్‌లో డీలిమిటర్ యొక్క అన్ని స్థానాలను కనుగొనడానికి మరియు విభజించబడిన విలువను వెక్టర్ శ్రేణిలో నిల్వ చేయడానికి 'అయితే' లూప్ ఉపయోగించబడింది. తరువాత, వెక్టర్ శ్రేణి యొక్క విలువలు ముద్రించబడ్డాయి.

// అవసరమైన లైబ్రరీలను చేర్చండి
#చేర్చండి
#చేర్చండి
#చేర్చండి

intప్రధాన(){
// స్ట్రింగ్‌ను నిర్వచించండి
గంటలు::స్ట్రింగ్స్ట్రింగ్ డేటా= 'PHP: C ++: పైథాన్:';
// విభజనను నిర్వచించండి
గంటలు::స్ట్రింగ్వేరుచేయువాడు= ':';
// వెక్టర్ వేరియబుల్‌ని ప్రకటించండి
గంటలు::వెక్టర్భాషలు{};
// పూర్ణాంక వేరియబుల్‌ని ప్రకటించండి
intస్థానం;
// స్ట్రింగ్ వేరియబుల్‌ని ప్రకటించండి
గంటలు::స్ట్రింగ్outstr;
/ *
సబ్‌స్ట్రర్ () ఫంక్షన్‌ను ఉపయోగించి స్ట్రింగ్‌ని విభజించండి
మరియు వెక్టర్‌లోకి విడిపోయిన పదాన్ని జోడించడం
* /

అయితే ((స్థానం=స్ట్రింగ్ డేటా.కనుగొనండి(వేరుచేయువాడు)) !=గంటలు::స్ట్రింగ్::npos) {
భాషలు.వెనుకకు నెట్టడం(స్ట్రింగ్ డేటా.సబ్‌స్ట్రార్(0, స్థానం));
స్ట్రింగ్ డేటా.చెరిపివేయి(0, స్థానం+వేరుచేయువాడు.పొడవు());
}
// విడిపోయిన అన్ని పదాలను ముద్రించండి
కోసం (కానిస్టేట్ దానంతట అదే &outstr:భాషలు) {
గంటలు::ఖరీదు <<outstr<<గంటలు::endl;
}
తిరిగి 0;
}

అవుట్‌పుట్:

కోడ్ ప్రకారం, ప్రధాన స్ట్రింగ్ విలువ PHP: C ++: పైథాన్ మరియు డీలిమిటర్ విలువ, ' : ' . పై స్క్రిప్ట్‌ను అమలు చేసిన తర్వాత కింది అవుట్‌పుట్ కనిపిస్తుంది.

ముగింపు

సబ్‌స్ట్రర్ () ఫంక్షన్‌ను ఉపయోగించడం యొక్క ముఖ్య ఉద్దేశ్యం ఏమిటంటే, స్ట్రింగ్ నుండి సబ్‌స్ట్రింగ్‌ను ప్రారంభ స్థానం మరియు ఉప-స్ట్రింగ్ యొక్క పొడవును పేర్కొనడం ద్వారా తిరిగి పొందడం. ఈ ఫంక్షన్ యొక్క వివిధ ఉపయోగాలు ఈ ట్యుటోరియల్‌లో కొత్త C ++ యూజర్లు తమ కోడ్‌లో సరిగ్గా ఉపయోగించడంలో సహాయపడటానికి బహుళ ఉదాహరణలను ఉపయోగించి వివరించబడ్డాయి.