C లో Strstr

Strstr C



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

$మనిషిstrstr







ఉదాహరణ 1

Strstr యొక్క మొదటి ఉదాహరణను పరిగణించండి; మేము ఫైల్‌లోని కోడ్‌ని ఉపయోగించాము. మరియు మేము టెర్మినల్‌లోని ఈ ఫైల్ ద్వారా అవుట్‌పుట్ పొందుతాము. యొక్క ఇన్పుట్ అని తెలిసినట్లుగా strstr రెండు తీగలు, దీనిలో ఒక స్ట్రింగ్ సంభవించడం మరొక స్ట్రింగ్‌లో గుర్తించబడుతుంది. ముందుగా లైబ్రరీ హెడర్ string.h స్ట్రింగ్ యొక్క అనేక విధులను నిర్వహించేది ఉపయోగించబడుతుంది. ఈ లైబ్రరీని పరిచయం చేయకపోతే, స్ట్రింగ్ ఫంక్షన్ల ప్రోగ్రామ్‌ను అమలు చేయడం సాధ్యం కాదు. ఈ సోర్స్ కోడ్‌లో ఉపయోగించే స్ట్రింగ్ ఫంక్షన్



పి= strstr (s1,s2)

దీనిలో, p ఒక పాయింటర్. S1 మరియు S2 రెండు తీగలు. స్ట్రింగ్ s1 లో s2 సంభవించడాన్ని మనం కనుగొనాలి. ఫలితాలను ముద్రించడానికి, స్ట్రింగ్ యొక్క మొదటి సంభవనీయతను తనిఖీ చేసే స్థితిని వర్తింపజేయడానికి if-else స్టేట్‌మెంట్‌ను ఉపయోగించాము. ప్రధాన స్ట్రింగ్‌లో నిర్దిష్ట సబ్‌స్ట్రింగ్ ఉన్నట్లయితే, అది నిర్ధారణ సందేశంతో ప్రదర్శించబడుతుంది. అది లేనట్లయితే, ఒక సందేశం ప్రదర్శించబడుతుంది.







పై స్క్రీన్‌షాట్‌లో, మీరు చిన్న స్ట్రింగ్‌ను గుర్తించాల్సిన ఇన్‌పుట్ స్ట్రింగ్‌ను చూడవచ్చు. స్టేట్‌మెంట్ p ని పారామీటర్‌లోని ఆర్గ్యుమెంట్‌గా, విలువగా తీసుకుంటే ఆ చిన్న స్ట్రింగ్ కూడా ప్రస్తావించబడుతుంది strstr ఫంక్షన్ దానిలో నిల్వ చేయబడుతుంది.

మీరు లైనక్స్ ఆపరేటింగ్ సిస్టమ్‌లో పనిచేస్తుంటే మరియు అవుట్‌పుట్ పొందాలనుకుంటే. ఉబుంటు టెర్మినల్‌లోని కొన్ని ఆదేశాలను ఉపయోగించి దీన్ని చేయవచ్చు. మొదటి ఆదేశం సంకలనం కోసం



$GCC –o ఫైల్ 9 ఫైల్ 9.సి

సంకలనం కోసం, మాకు ఒక కంపైలర్ అవసరం, దానిపై C ప్రోగ్రామ్‌ను కంపైల్ చేయడానికి GCC Linux కోసం ఉపయోగించబడుతుంది. -o సోర్స్ ఫైల్ నుండి అవుట్‌పుట్ ఫైల్‌లో ఫలితాన్ని నిల్వ చేయడానికి ఉపయోగించబడుతుంది. ఇప్పుడు తదుపరి దశ అమలు.

$./ఫైల్ 8

డాట్ పద్ధతిని ఉపయోగించి ఇది పూర్తయింది. దీనిలో మేము ఫైల్ పేరుతో ఒక డాట్ మరియు స్లాష్‌ని ఉపయోగిస్తాము.

సబ్‌స్ట్రింగ్ ఉందని అవుట్‌పుట్ చూపిస్తుంది మరియు ఫైల్‌లో దాని స్థానాన్ని కూడా చూపుతుంది.

ఉదాహరణ 2

If- స్టేట్‌మెంట్ ఉపయోగించకుండా strstr () ఫంక్షన్‌కు ఇది మరొక సాధారణ ఉదాహరణ. ఈ సి ప్రోగ్రామ్‌లో, మేము స్ట్రింగ్‌లోని ఒక నిర్దిష్ట పదాన్ని సరిపోల్చాము మరియు ఆ పదం దాని సంభవానికి అనుగుణంగా సరిపోలినందున దాన్ని పొందుతాము. అప్పుడు అవుట్‌పుట్‌లో, సబ్‌స్ట్రింగ్‌తో పాటు ఉన్న పదం మరియు అక్షరాలు కూడా ప్రదర్శించబడతాయి.

అవుట్‌పుట్ = strstr(a, శోధన స్ట్రింగ్);

కోడ్‌లోని పాయింటర్ వేరియబుల్‌ని ఉపయోగించడం ద్వారా సంభవించినట్లుగా. సబ్‌స్ట్రింగ్ స్థానాన్ని పొందడానికి మరియు సబ్‌స్ట్రింగ్‌ను చూడటానికి ఈ పాయింటర్ ఉపయోగించబడుతుంది కాబట్టి, అవుట్‌పుట్ కమాండ్‌లో ఆస్టరిస్క్ లేని వేరియబుల్ పేరును మాత్రమే ఉపయోగిస్తాము. మేము స్థానాన్ని ప్రదర్శించాలనుకుంటే, మేము పాయింటర్ (ఆస్టరిస్క్‌తో వేరియబుల్), అంటే *అవుట్‌పుట్‌ను ఉపయోగిస్తాము.

మీరు దీనిని అవుట్‌పుట్‌లో చూడవచ్చు. ఫంక్షన్ అనే పదాన్ని సబ్‌స్ట్రింగ్‌గా శోధించాలి. సబ్‌స్ట్రింగ్‌తో పాటు అక్షరాలు కూడా ప్రదర్శించబడతాయి.

ఉదాహరణ 3

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

P = strstr(s1, s2);

P అనేది సంభవించే విలువను నిల్వ చేసే చోట, S1 మరియు s2 ఇన్‌పుట్ స్ట్రింగ్‌లు.

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

Strcpy(p, strstr)

మేము పదాన్ని భర్తీ చేయాలనుకుంటున్నాము strstr . ఫంక్షన్ స్థానంలో ఉన్న సబ్‌స్ట్రింగ్ యొక్క మొదటి సంఘటన యొక్క స్థానం p. Strcpy () స్ట్రింగ్‌లో ఈ రెండు పదాలను భర్తీ చేస్తుంది. అవుట్‌పుట్ అదే కంపైల్-ఎగ్జిక్యూషన్ పద్ధతి ద్వారా పొందబడుతుంది.

అవుట్‌పుట్ నుండి, స్ట్రింగ్ ఇప్పుడు మేము strcpy ఫంక్షన్‌లో వివరించిన ఇతర పదంతో భర్తీ చేయబడిందని మీరు చూడవచ్చు.

ఉదాహరణ 4

ఈ ఉదాహరణ అదే భావనను చూపుతుంది. ఇక్కడ మేము సబ్‌స్ట్రింగ్‌గా పదానికి అదనంగా ఒక ఖాళీగా ఖాళీ స్థలాన్ని తీసుకున్నాము. ఇది సాధారణ దృష్టాంతం, దీనిలో మనం if- స్టేట్‌మెంట్‌ను కూడా ఉపయోగించలేదు. మ్యాచ్ మరియు డిస్‌ప్లే కాన్సెప్ట్ మాత్రమే వర్తింపజేయబడింది. రెండు తీగలను ఇన్‌పుట్‌గా తీసుకుంటారు. అదనంగా, పదంతో సందేశం ప్రదర్శించబడుతుంది. ది strstr అదే పద్ధతిలో పనిచేస్తుంది.

c= strstr(a, b);

ఇక్కడ c అనేది సంభవించే స్థానం నిల్వ చేయబడే వేరియబుల్.

ఇప్పుడు, మేము అవుట్‌పుట్‌ను పొందుతాము.

అవుట్‌పుట్ నుండి, మేము ప్రవేశపెట్టిన సబ్‌స్ట్రింగ్‌తో కూడా స్పేస్ లెక్కించబడిందని మీరు గమనించవచ్చు.

ఉదాహరణ 5

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

చార్*pos = strstr(str, సబ్‌స్ట్రార్);

అయితే p స్ట్రింగ్, సబ్‌స్ట్రార్ అనేది సబ్‌స్ట్రింగ్. చార్*పోస్ స్ట్రింగ్‌లో సబ్‌స్ట్రింగ్ మొదటిసారి సంభవించే స్థానం. గుర్తు ' %s ప్రదర్శించబడే స్టేట్‌మెంట్‌లో ప్రస్తుతం సబ్‌స్ట్రింగ్ మరియు మొత్తం స్ట్రింగ్‌ను భర్తీ చేయడాన్ని సూచిస్తుంది. పారామీటర్‌లోని స్ట్రింగ్ ముందు సబ్‌స్ట్రింగ్ ఉన్నందున.

ఇప్పుడు ప్రధాన కార్యక్రమం వైపు వెళ్తున్నారు. ముందుగా స్ట్రింగ్ ప్రవేశపెట్టబడింది, అది ఫంక్షన్ కాల్ ద్వారా పంపబడుతుంది

Find_str(str, ఉత్తమమైనది);

ఇక్కడ మేము స్ట్రింగ్‌తో సబ్‌స్ట్రింగ్‌ను కూడా జోడించాము. ప్రతిసారీ కొత్త సబ్‌స్ట్రింగ్ జోడించబడుతుంది. రెండవసారి మేము ఖాళీ స్థల అక్షరాన్ని జోడించాము. మూడవసారి, స్ట్రింగ్‌లో భాగం కాని సబ్‌స్ట్రింగ్ జోడించబడింది. మరియు చివరిలో, వర్ణమాల ఉపయోగించబడింది.

ఆదేశాలను ఉపయోగించండి మరియు ఆపై దిగువ జతచేయబడిన ఫలితాన్ని చూడండి.

C ప్రోగ్రామ్ ఫంక్షన్ కాల్స్ ఫలితం ఇక్కడ ఉంది. మొదటి రెండు మరియు 4 వ స్టేట్‌మెంట్‌లు షరతులను సంతృప్తిపరుస్తాయి, కాబట్టి సమాధానం ప్రదర్శించబడుతుంది. మూడవది సంబంధితంగా లేదు, కాబట్టి ఇతర భాగం దీనిని నిర్వహిస్తుంది.

ముగింపు

ఈ వ్యాసంలో, దీని ఉపయోగం strstr ఉదాహరణలతో సహా చర్చించబడింది. ఈ ఉదాహరణలు అనేక విధాలుగా ఆ భావనను ఉపయోగించడంలో వైవిధ్యాన్ని చూపుతాయి. స్ట్రింగ్ ఫంక్షన్‌లు లైబ్రరీలో వాటి హెడర్ సమక్షంలో ఉపయోగించడం సులభం.